アダプティブ Web デザインを実現する方法に関する関連知識ポイントの要約

アダプティブ Web デザインを実現する方法に関する関連知識ポイントの要約
「アダプティブ 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.collat​​e(画像);
});

ただし、条件が許せば、画面サイズに応じて異なる解像度の画像を読み込むのが最適です。これを行うには、サーバー側とクライアント側の両方で多くの方法があります。

8. ホームページのコンテンツ検索バー、製品カテゴリ、人気製品、キーワード。

9. 水平スクロールバーを避ける

画像やその他のページ要素によって、コンテナ要素が正常に流れなくなることがあります。次のスクリプトを使用すると、この動作を簡単に防ぐことができます。

コードをコピー
コードは次のとおりです。

img、iframe {最大幅:100%;ボックスサイズ:ボーダーボックス;}

<<:  HTML の doctype とエンコーディングに関する簡単な説明

>>:  ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード

推薦する

CSS スタイルの優先順位はどれくらい複雑ですか?

昨晩、面接の質問を見ていたら、CSS スタイルの優先順位について特に明確に説明していない人が何人かい...

数字当てゲームを実装するための純粋なJavaScript

100 以内の自然数をランダムに選択し、プレイヤーに 10 ラウンド以内にその数を推測させる数字推...

JS関数の呼び出し、適用、バインドの超詳細な方法

目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...

Linux システムでキャッシュをクリアする方法の概要

1) キャッシュメカニズムの紹介Linux システムでは、ファイルシステムのパフォーマンスを向上させ...

HTML tbody の使用

構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....

Ubuntu でパスワードを変更し、パスワードの複雑さのポリシーを設定する方法

1. パスワードを変更する1. 一般ユーザーのパスワードを変更する パスワード現在のパスワードを入力...

Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装

現在、Redis とコンテナについて学習中なので、Docker を使用して Redis マスタースレ...

Docker を使用して静的 Web サイト アプリケーションを作成する (複数の方法)

静的ウェブサイトをホストできるサーバーは数多くあります。この記事では、nginx、apache、to...

Centos7 ベースの Nginx Web サイト サーバーの構築の詳細説明 (仮想 Web ホストの構成を含む)

1. Nginx サービス基盤Nginx (エンジン x) は、パフォーマンスの最適化のために特別...

a タグをクリックして入力ファイルのアップロードダイアログボックスを表示する方法

htmlコードをコピーコードは次のとおりです。 <SPAN class=tag><...

CSS で平均レイアウトを実現するために負のマージンを使用する例

均等に分散されたレイアウトの場合、通常はネガティブ マージン方式を使用します。次の図は平均的なレイア...

Vueプロジェクトはログインと登録の効果を実現します

この記事の例では、ログインと登録の効果を実現するためのvueプロジェクトの具体的なコードを共有してい...

sqlite を mysql スクリプトに移行する方法

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 パーレル # # https:/...

HTML にオーディオファイルを挿入してブラウザで再生する場合の互換性の問題

HTML にオーディオ ファイルを挿入した後 (mp3 ファイルを再生した後) に発生したいくつかの...

MySQL の group by と having の詳細な説明

GROUP BY 構文を使用すると、指定されたデータ列の各メンバーに従ってクエリ結果をグループ化して...