CSSは高さと幅を固定した要素の比例表示効果を実現します

CSSは高さと幅を固定した要素の比例表示効果を実現します

padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の要件は、ビデオの div ボックスの高さが固定されていることです。幅を比例して表示するにはどうすればよいでしょうか。

解決後の効果は図のようになります。

赤いボックスは、上記の固定高さ比の範囲内での幅の調整の効果を示しています。

CSSコード:

。コンテンツ {
      マージン: 0 自動;
      高さ:79vh;
      .ビデオボックス{
        位置: 相対的;
        高さ: 100%;
        オーバーフロー: 非表示;
        マージン: 0 自動;
        幅: 79vh*1.778;
        最大幅: 100vw;
        .ad_pic {
          表示: なし;
          位置: 絶対;
          上: 0;
          左: 0;
          幅: 100%;
          高さ: 100%;
          背景: url(6.jpg) 繰り返しなし 中央;
          背景サイズ: 100% 100%;
          画像 {
            幅: 100%;
            高さ: 100%;
          }
          .btn_play {
            表示: インラインブロック;
            .幅(50);
            .高さ(50);
            位置: 絶対;
            左: 50%;
            上位: 50%;
            .左マージン(-25);
            .マージントップ(-25);
            背景: url(../../public/img/icon_play.png) 繰り返しなし 中央;
            背景サイズ: 100% 100%;
          }
        }
        iframe、オブジェクト、埋め込み、ビデオ {
          位置: 絶対;
          上: 0;
          左: 0;
          幅: 100%;
          高さ: 100%;
        }
        .ビデオカード{
          位置: 絶対;
          上: 0;
          左: 0;
          幅: 2px;
          高さ: 1px;
        }
      }
    }

html:

<div class="content">
        <div class="video_box">
            <div class="ad_pic">
                <span class="btn_play"></span>
            </div>
            <ビデオ id="ad_video"
                   自動バッファ
                   src="a.mp4"
                   自動再生
                   プリロード
                   コントロール=""
                   ループ
                   ポスター="6.jpg"
                   webkit-playsinline="true"
                   playsinline="true"
                   x-webkit-airplay="許可"
                   x5-プレイインライン
                   x5-ビデオプレーヤータイプ="h5"
                   x5-ビデオプレーヤーフルスクリーン="true"
                   x5-ビデオの向き="縦"
                   >
            </ビデオ>
        </div>
    </div>

ビデオにはアスペクト比があるため、ここでのビデオの高さは、外側のボックスの高さ * 比率、つまりビデオの幅に等しくなります。ビデオが幅広すぎて画面を超えないようにするには、ここで max-width: 100vw; 制限を追加し、margin:0 auto; を使用して中央に配置します。これで問題は解決しました。

要約する

上記は、固定の高さと比例幅の表示効果を持つ要素を実現するために紹介した CSS です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  今日は、珍しいけれど役に立つJSテクニックをいくつか紹介します

>>:  Docker のインストールと構成コマンドのコード例

推薦する

超詳細なMySQL使用仕様の共有

最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...

フォーム要素の簡単な実装コードでは登録を例に挙げています

コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

vue+element カスタムクエリコンポーネント

この記事では主に Vue プロジェクトを紹介します。要素の導入を前提として、コンポーネントを 2 回...

Three.js が Facebook Metaverse 3D ダイナミック ロゴ効果を実現

目次背景メタバースとは何ですか?成果を達成するトライアル 1: THREE.TorusGeometr...

Zabbix redis 自動ポート検出スクリプトは json 形式を返します

自動検出を行う際には、ポートなどの情報を取得してjson形式で返すスクリプトが必ず存在します。Red...

Linuxの貼り付けコマンドの使い方

01. コマンドの概要貼り付けコマンドは各ファイルを列ごとに結合します。これは、2 つの異なるファイ...

SQL実行ステップの詳細な分析

SQL実行ステップの詳細な分析まず、ステートメントが実行される順序を見てみましょう。 (8)選択する...

CSSフローティングとフローティング解除について

フロートの定義要素を通常のドキュメント フローから外し、要素を左また​​は右に近づけます。親要素の端...

MySQL 8.0.14 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.14のインストールと設定のプロセスを記録しています。具体的な内容は...

SQLは、隣接する2行のデータに対して加算、減算、乗算、除算の演算を実行します。

SQL は、データを特定の順序で並べ替え、特定のフィールドでグループ化した後、隣接する 2 つのデ...

サーバーから返される14の一般的なHTTPステータスコードの詳細な説明

HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...

Nginx リバース プロキシ構成の完全なプロセス記録

1. 準備LinuxシステムにTomcatをインストールし、デフォルトのポート8080を使用してTo...

WeChatアプレットがユーザーの移動軌跡を記録

目次設定を追加json 構成レイヤー構成の表示論理層の構成位置追跡をオンにする録音を開始開始座標を決...

Linux のスケジュールタスク Crontab コマンドの使用に関する詳細な説明と概要

crontab コマンドは、Unix および Linux で定期的な実行命令を設定するために使用され...