ホームページ  >  記事  >  ウェブフロントエンド  >  CSSでアダプティブコンテナを実装する方法

CSSでアダプティブコンテナを実装する方法

王林
王林転載
2020-03-20 10:47:482009ブラウズ

CSSでアダプティブコンテナを実装する方法

目標:

高さが幅の半分の幅適応コンテナを実装します。

1. 実装方法を考える

この問題は次のようなものです: 私たちはモバイル ページにいます。高さを設定しない場合、幅 100% の画像があります。 、画像は元のサイズ、比例スケーリングに基づきます。

このアイデアを使用して、要素の高さに応じて、要素に対応する比例した高さを設定できます。

(推奨チュートリアル: CSS 入門チュートリアル )

2. 実装方法 1 - vw viewport を通じて

いわゆるビューポート ユニット (ビューポート) を実装します。単位単位) はビューポート (ビューポート) のサイズに相対し、100vw はビューポート幅の 100% に等しくなります。つまり、1vw はビューポート幅の 1% に等しくなります。

この機能を使用して、幅から高さまで適応するコンテナをモバイル側に実装できます。

HTML コード:

<div class="box">
    <img  src="http://images.pingan8787.com/2019_07_12guild_page.png" / alt="CSSでアダプティブコンテナを実装する方法" >
</div>

css コード:

*{
    margin:0;
    padding:0
}
.box{
    width:100%;
    height:51.5vw
}
.box img{ 
    width:100%; 
}

なぜ .box の高さは 51.5vw なのでしょうか?

その理由は、画像の元のサイズが 884 * 455 のアスペクト比、つまり 455 / 884 = 51.5% であるためです。

元の画像の比例スケーリングと比較して、この方法には利点があります。画像が正常に読み込まれるかどうかに関係なく、コンテナの高さが常に計算されるため、ページのジッターやページの再描画が発生しません。それによりパフォーマンスが向上します。

この場合の画像読み込みの成功と失敗の比較を見てみましょう:

CSSでアダプティブコンテナを実装する方法

3. 実装方法 2 - サブ要素のパディングによる実装

これは、子要素のパディング属性を設定することによって実装されます。これはより一般的に使用され、より良い効果があります。ここで理解する必要があるのは、子のパディング属性のパーセンテージの値です。要素は、まず親コンテナの幅に相対します。

次のコードとレンダリングを見て理解してください:

HTML コード:

<div class="box">
    <div class="text">我是王平安,pingan8787</div>
</div>

css コード:

.box{
    width: 200px;
}
.text{
    padding: 10%;
}

CSSでアダプティブコンテナを実装する方法

##分析:

ここでは、親コンテナー .box の幅を 200px、子要素 .text のパディングを 10% に設定しているため、.box のパディング計算結果は 20px;

次に、テーマと組み合わせて、この原則を使用して均等な比率の問題を達成します。

HTML コード:

<div class="box">
    <div class="text">
        <img  src="http://images.pingan8787.com/2019_07_12guild_page.png" / alt="CSSでアダプティブコンテナを実装する方法" >
    </div>
</div>

css コード:


.box{
    width: 100%;
}
.text{
    overflow: hidden;
    height: 0;
    padding-bottom: 51.5%;
}
.box .text img{
    width: 100%;
}

here.textpadding-bottom: 51.5%; も、画像の元のサイズのアスペクト比を使用して、最初の方法に従って計算されます。.text here を height: 0; に設定すると、実際の問題よりも高さが高くなってしまうため、この場合は高さ: 0; を設定する必要があります。

推奨される関連ビデオ チュートリアル:

css ビデオ チュートリアル

以上がCSSでアダプティブコンテナを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。