CSS で画像アダプティブ コンテナを実装するためのサンプル コード

CSS で画像アダプティブ コンテナを実装するためのサンプル コード

多くの場合、画像をコンテナのサイズに合わせて調整する必要があります。

1. imgタグ方式

幅と高さを 100% に設定することがすぐに考えられます。効果を見てみましょう。

<divクラス='div1'>
    <img src="./peiqi.png" alt="">
</div>
.div1 {
    幅:500ピクセル;
    高さ:400px;
    border:1px 黒一色;
}
.div1 画像 {
    /*
    幅: 100%;
    高さ:100%;
    */
} 

これは通常のページです(画像がコンテナより大きい場合は、画像がコンテナを超えます)

.div1 {
    幅:500ピクセル;
    高さ:400px;
    border:1px 黒一色;
}
.div1 画像 {
    幅: 100%;
    高さ:100%;
} 

これは100%ペギーです

えーっと、ちょうど旧正月が終わったようですね。

適応の要件を満たしていますが、図のように画像が歪んでいます。画像がコンテナより小さい場合、強制的に適応させると画像が歪んでしまいます。単一画像(ロゴ、プレースホルダー画像など)であれば、デザイン案に沿って展開していただけます。しかし、インターフェースによって取得される画像が不規則になることがよくあります。一般的に、画像がコンテナよりも小さい場合、水平方向と垂直方向の中央に配置されます。
タスクを整理してみましょう:

  • 画像の幅と高さがコンテナより小さい場合、垂直方向と水平方向に中央揃えされます。
  • 画像の幅と高さが両方ともコンテナより大きい場合は、アスペクト比を維持し、コンテナを幅または高さで埋めます。
   <divクラス='div1'>
        <img src="./peiqi.png" alt="">
    </div>
    <divクラス='div1'>
        <img src="./peiqi2.png" alt="">
    </div>
    <divクラス='div1'>
        <img src="./peiqi4.jpeg" alt="">
    </div>
  .div1 {
        幅:500ピクセル;
        高さ:400px;
        border:1px 黒一色;
        表示: テーブルセル;
        垂直位置合わせ: 中央;
    }
    .div1 画像 {
        最大幅: 100%;
        最大高さ: 100%;
        表示: ブロック;
        マージン: 自動;
    }
max-height プロパティは、height プロパティが max-height より大きい値に設定されることを防ぎます。
max-height 属性は、特定の要素の最大の高さを設定するために使用されます。height 属性で設定された高さがこの属性で設定された高さより大きい場合、height 属性は無効になります。

この効果ははるかに快適です

2. 背景画像方式

  .div {
        背景サイズ: 含む;
    }
background-size: contain; は、画像の幅と高さがコンテンツ領域に完全に収まるように、画像を最大サイズに拡大します。

CSS の background-size: contain; プロパティを使用すると、画像の幅と高さがコンテナーよりも小さい状況をさらに最適化できます。

コードについて

  div {
        高さ: 400px;
        幅: 500ピクセル;
        境界線: 1px 黒一色;
        背景繰り返し: 繰り返しなし;
        背景サイズ: 含む;
        背景の位置: 中央;
    }
    .div1 {
        背景画像: url(./peiqi1.png);
    }
    .div2 {
        背景画像: url(./peiqi2.png);
    }
    .div3 {
        背景画像: url(./peiqi4.jpeg);
    }
  <div class='div1'></div>
    <div class='div2'></div>
    <div class='div3'></div> 

もちろん、最終的にはすべて需要と製品に必要なものによって決まります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQL で最大接続数を正しく変更する 3 つの方法

>>:  ウェブページ作成の基本宣言文書型記述(DTD

推薦する

複数のdiv内のテーブルのtdwidth設定は同じで、揃えることができません

最近、複数のdivにあるテーブルのTDを同じ幅に調整しても、揃えることができず、幅にパターンがないこ...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

MySQLの不合理なMaxIdleConnsにより接続が短くなる

1 背景最近、Shimo Document のオンライン ビジネスでパフォーマンスの問題が発生しまし...

Windows 8.1 で MySQL5.7 のルート パスワードを忘れた場合の解決方法

【背景】最近勉強中に非常に恥ずかしいことに遭遇しました。MySQL のパスワードを忘れてしまい、My...

jsでライトスイッチの効果を実現

この記事の例では、ライトスイッチ効果を実現するためのjsの具体的なコードを参考までに共有しています。...

Dockerプライベート倉庫の構築と利用の詳細説明

イメージは hub.docker.com に保存できますが、ネットワーク速度が比較的遅いです。内部環...

VMware Workstation 仮想マシンのインストール操作方法

仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

PHPのmail()関数を使用してメールを送信する

PHPのメール関数を使用してメールを送信するmail()関数はメールサーバーに接続し、サーバーと対話...

Windows での MySQL データベースのマスター/スレーブ構成チュートリアル

WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...

プライベートレジストリ内の画像を照会または取得する方法

Dockerはプライベートレジストリ内のイメージを照会または取得するために、 docker 検索 1...

Javascript の奇妙な点をご存知ですか?

私たちのベテランの先人たちは、数え切れないほどのコードを書き、数え切れないほどの落とし穴に陥ってきま...

Vue3デスクトップアプリケーションの構築方法

この記事では、Vite を使用して Vue 3 デスクトップ プロジェクトを開発する方法について説明...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル (Win10 Home バージョン 64)

超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...