はじめに 今日紹介したいことは非常にシンプルですが、ブートストラップなどのフロントエンド フレームワークを使用する場合、ページは部分的にメディア クエリを通じて実装されますが、フロントエンドの応答性に関しては非常に重要な知識です。常にスクロールバーがなく、レスポンシブなスタイルのページです。ただし、ブートストラップの img 応答クラスは画像を 100% に設定するだけで、実際には携帯電話とコンピューターに異なるサイズの画像をロードしません。
実際のコードは非常に単純です
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Document</title> <script> document.createElement( "picture" ); </script></head><body> <picture> <source srcset="pic1.png" media="(max-width: 600px)"> <source srcset="pic2.png" media="(max-width: 800px)"> <img srcset="pic3.png" alt="pic"> </picture></body></html>
以下は、ブラウザーでの結果です。Chrome ブラウザーを開き、f12 キーを押してネットワーク リクエストを表示します。
最初に3枚の写真があります
pic1.png
デフォルトでは、画面は全画面で幅は800を超えています
pic2.png
ページ幅が600px〜800px((600,800])の場合)
pic3 .png
最後に、ページは 600px 以下です
pic4.png
上記のコードについて説明しましょう: img 要素はデフォルトで表示される画像ソースであり、上の 2 つのソース要素は特定のメディア クエリの下に表示される画像です
この方法では、ブラウザのウィンドウ サイズに基づいて画像を動的に読み込むための、よく知られた CSS メディア クエリのようなコードを記述するだけで済みます。
GitHub のマスターが上記の原則に基づいて picfill プロジェクトを作成しました。興味がある場合は、git で確認してください。