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

推薦する

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...

Linuxはバイナリモードを使用してmysqlをインストールします

この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...

Linux に起動方法を追加する (サービス/スクリプト)

システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...

挿入前にレコードが既に存在するかどうかを確認するには、SQL ステートメントを使用します。

目次SQL文を挿入する前にレコードが既に存在するかどうかを確認するSQL挿入時の判断の簡単なコレクシ...

Ubuntuでネットワークルーティングテーブルを表示する方法

Linux におけるルーティングとルーティング テーブルとは何ですか?ルーティングのプロセスとは、ネ...

CSS BEM 記述標準の詳細な説明

BEM は、Web 開発に対するコンポーネントベースのアプローチです。ユーザー インターフェイスを独...

Linux centos7 に phpMyAdmin をインストールするチュートリアル

yum install httpd php mariadb-server –yランプの動作環境を設定...

星のフラッシュ効果を実現するjs

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

MySQLインデックスの基礎となるデータ構造の詳細

目次1. インデックスの種類1. B+ツリー2. MyISAM と InnoDB の B+ ツリー ...

Nginx http を https にアップグレードする手順を完了する

httpとhttpsの違いは一部のウェブサイトでは、http を開くと、安全ではないというメッセージ...

Ubuntu 16.04 カーネルのアップグレード手順

1. 環境仮想マシン上で実行されているUbuntu 16.04では、コマンドuname -rを使用し...

面接では、select...for update がテーブルをロックするのか、それとも行をロックするのか尋ねられました。

目次確認する:例の検証と組み合わせるselect クエリ ステートメントはロックされませんが、sel...

Nginx で WordPress 擬似静的を設定する方法の例

Baidu の擬似静的の説明を引用します。擬似静的は、実際の静的に相対的です。通常、検索エンジンの使...

WindowsX Hyper-V ベースの CentOS システムをインストールする

現在、Linux を使用するほとんどの人は、クラウド サーバーを使用するか、Windows 上に仮想...

Vue+webrtc (Tencent Cloud) ライブブロードキャスト機能の実装実践

目次1. 生放送効果2. ライブストリーミングを開始する手順2.1 Tencent Web(高速ライ...