「アダプティブ Web デザイン」はどのように機能しますか?実はそれほど難しいことではありません。 1. Web ページの幅を自動的に調整できるようにします。 まず、Web ページ コードの先頭にビューポート メタ タグの行を追加します。 コードをコピー コードは次のとおりです。<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0, width=デバイス幅"/> ビューポートは、Web ページのデフォルトの幅と高さです。上記のコード行は、Web ページの幅がデフォルトで画面の幅 (width=device-width) と等しく、元のスケーリング比 (initial-scale=1) が 1.0 であることを意味します。つまり、Web ページの初期サイズは画面領域の 100% を占めます。 古い IE6、7、8 ブラウザでは、js 処理が必要です。主なプラットフォームは iOS と Android なので、Opera のサポート不足は一時的に無視できます。 2. 絶対幅を使わない Web ページは画面の幅に応じてレイアウトを調整するため、絶対幅のレイアウトや絶対幅の要素は使用できません。これはとても重要です。 具体的には、CSS コードではピクセル幅を指定できません。 幅:xxx ピクセル; 列幅を定義するにはパーセンテージのみを指定できます。 幅: xx%; または: 幅:自動; または: 最大幅と最大高 max-width、max-height を使用します。 3. 相対的なフォントサイズ フォントのサイズは絶対サイズ (px) では設定できず、相対サイズ (em) でのみ設定できます。 コードをコピー コードは次のとおりです。体 { フォント: 標準 100% Helvetica、Arial、sans-serif; } 上記のコードは、フォント サイズがページのデフォルト サイズ (16 ピクセル) の 100% になることを指定しています。 コードをコピー コードは次のとおりです。h1 { フォントサイズ: 1.5em; } h1 のサイズは、デフォルト サイズの 1.5 倍、つまり 24 ピクセル (24/16 = 1.5) になります。 コードをコピー コードは次のとおりです。小さい フォントサイズ: 0.875em; } 小さい要素のサイズは、デフォルト サイズの 0.875 倍、つまり 14 ピクセル (14/16 = 0.875) になります。 4. 流動的なグリッド 「流動的なレイアウト」とは、各ブロックの位置が固定ではなく、浮動していることを意味します。 コードをコピー コードは次のとおりです。。主要 { フロート: 右; 幅: 70%; } .leftBar{ フロート: 左; 幅: 25%; } float の利点は、幅が小さすぎて 2 つの要素を収容できない場合、後者の要素は前者の要素の下部まで自動的にスクロールされ、水平方向にオーバーフローしないため、水平スクロール バーが表示されなくなることです。 また、絶対位置指定(position: absolute)を使用する場合は、細心の注意を払う必要があります。 5. 「アダプティブウェブデザイン」の核となるのは、CSS3で導入されたメディアクエリモジュールです。 つまり、画面の幅を自動的に検出し、対応する CSS ファイルを読み込むということです。 media="screen および (max-device-width: 400px)" href="tinyScreen.css" /> 上記のコードは、画面の幅が 400 ピクセル未満 (max-device-width: 400px) の場合、tinyScreen.css ファイルを読み込むことを意味します。 media="screen かつ (最小幅: 400px) かつ (最大デバイス幅: 600px)" href="smallScreen.css" /> 画面の幅が 400 ピクセルから 600 ピクセルの場合、smallScreen.css ファイルが読み込まれます。 HTML タグを使用して CSS ファイルを読み込むだけでなく、既存の CSS ファイルに読み込むこともできます。 @import url("tinyScreen.css") 画面と (max-device-width: 400px); 6. CSS @mediaルール 同じ CSS ファイル内で、異なる画面解像度に応じて異なる CSS ルールを適用することもできます。 コードをコピー コードは次のとおりです。@media screen および (最大デバイス幅: 400px) { 。カラム { フロート: なし; 幅:自動; } #サイドバー { 表示:なし; } } 上記のコードは、画面の幅が 400 ピクセル未満の場合、列ブロックはフロート解除され (float:none)、幅は自動的に調整され (width:auto)、サイドバー ブロックは表示されない (display:none) ことを意味します。 列とフロートには線形デザインを使用します。 コードをコピー コードは次のとおりです。@media スクリーンと (最大幅: 480px) { div、li { 表示: ブロック; フロート:なし; 幅:100%; } } ![]() 7. 流動的なイメージ 「レスポンシブ Web デザイン」では、レイアウトとテキストに加えて、画像の自動スケーリングも実現する必要があります。 これには CSS が 1 行だけ必要です: 画像 { 最大幅: 100%;} このコード行は、Web ページに埋め込まれたほとんどのビデオでも機能するため、次のように記述できます。 画像、オブジェクト { 最大幅: 100%;} 古いバージョンの IE は max-width をサポートしていないため、次のように記述する必要があります。 画像の幅: 100%; さらに、Windows プラットフォームで画像を拡大縮小すると、画像の歪みが発生する可能性があります。現時点では、IE 独自のコマンドを使用してみることができます。 img { -ms 補間モード: バイキュービック; } あるいは、Ethan Marcotte による imgSizer.js を使用します。 コードをコピー コードは次のとおりです。addLoadEvent(関数() { var imgs = document.getElementById_x_x_x_x("content").getElementsByTagName("img"); imgSizer.collate(画像); }); ただし、条件が許せば、画面サイズに応じて異なる解像度の画像を読み込むのが最適です。これを行うには、サーバー側とクライアント側の両方で多くの方法があります。 8. ホームページのコンテンツ検索バー、製品カテゴリ、人気製品、キーワード。 9. 水平スクロールバーを避ける 画像やその他のページ要素によって、コンテナ要素が正常に流れなくなることがあります。次のスクリプトを使用すると、この動作を簡単に防ぐことができます。 コードをコピー コードは次のとおりです。img、iframe {最大幅:100%;ボックスサイズ:ボーダーボックス;} ![]() |
<<: HTML の doctype とエンコーディングに関する簡単な説明
>>: ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード
最近、インターネットで「Build your own React」という記事を見ました。著者は、シン...
目次チュートリアルシリーズ1. バックアップ戦略の説明1. バックアップの種類2. バックアップで考...
目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...
序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...
目次Dockerコンテナのソースコードを使用してhttpdをデプロイし、ストレージボリュームを使用し...
質問特定の MySQL 接続について、それがどのクライアント プロセスからのものであるかをどのように...
最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...
yum で vsftpd をインストールします [root@localhost など]# yum -...
まず、バックグラウンドから来るデータをシミュレートしてみましょう。ここでは、コードをわかりやすくする...
目次序文キーの役割差分アルゴリズムにおけるキーの役割ヘッドノードを同期するテールノードを同期する新し...
目次落とし穴充填方法何の穴ですか?要約する落とし穴最近、仕事で商品の割引価格を計算すると、いつも1セ...
目次FormDataとは何ですか? vueとaxiosの協力による実践的な体験追加()セット()消去...
この記事では、物流タイムライン効果を実現するためのVueの具体的なコードを例として紹介します。具体的...
[LeetCode] 185. 部門別給与上位3位従業員テーブルにはすべての従業員が保持されます。...
1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...