レスポンシブレイアウトの概要(推奨)

レスポンシブレイアウトの概要(推奨)

レスポンシブレイアウト開発の基礎知識

この章は主に以下の部分に分かれています

• レスポンシブデザインを正しく理解する
• レスポンシブデザインへのステップ
• レスポンシブデザインで注意すべき点
• レスポンシブなウェブページレイアウトを実装するための原則

まず、レスポンシブレイアウトを正しく理解する

レスポンシブ Web デザインとは、各端末ごとに特定のバージョンを作成するのではなく、Web サイトを複数の端末と互換性を持たせることができることを意味します。例えば、折りたたみソファー、折りたたみベッドなど、現在社会にはレスポンシブな製品がたくさんあります。ソファーをコーナーに配置する必要があるとき、ソファーはdivのようであり、コーナーの場所は親要素のようなものです。親要素のスペースが変更されたため、コーナーに配置できるようにdivを調整する必要があります。プロジェクトでは、さまざまな端末に遭遇することになります。端末の解像度が異なるため、より優れたユーザー エクスペリエンスを提供したい場合は、ページを複数の端末と互換性のあるものにする必要があります。

2: レスポンシブデザインの手順

レスポンシブとは何かがわかったところで、レスポンシブデザインの手順についてお話ししましょう。「ブロガーさん、あなたはバカですか?レスポンシブデザインの手順は、1. 非レスポンシブコードを書く、2. それをレスポンシブコードに加工する、3. レスポンシブな詳細を処理する、4. レスポンシブ開発を完了するだけではないですか?」と言う人もいるかもしれません。ブロガーはショックを受けました。人々の中に達人がたくさんいることがわかりました。彼は敬意を表すために軽く微笑みました。なんてことだ、私は間違って言いました。軽く微笑むべきでした。誤解しないでください。

さて、本題に戻りますが、ブロガーは物事の真相を突き止めたい人なので、レスポンシブ デザインの根本を深く掘り下げて、これら 4 つのステップをより深く理解したいと思います。

1. レイアウトとメタタグの設定

レスポンシブな Web サイトを作成する場合、またはレスポンシブでない Web サイトをレスポンシブにする場合、最初に注目すべき点は要素のレイアウトです。レスポンシブ レイアウトを作成するときは、通常、ページの幅を固定した非レスポンシブ レイアウトを最初に作成します。これは、ここでの誰にとっても難しいことではないと思います。非応答性が解消されたら、メディア クエリとレスポンシブ コードを追加します。この操作により、レスポンシブ機能の実装が容易になります。

完了したら レスポンシブでない Web サイトが完成したら、まず HTML ページで、次のコードを タグと タグの間に貼り付けます。これにより、画面が 1:1 の表示サイズに設定され、iPhone やその他のスマートフォンのブラウザでサイトが完全に表示され、ユーザーがページをズームできなくなります。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <メタ  name = "ビューポート"  コンテンツ= "幅=デバイス幅、初期スケール=1、最大スケール=1、ユーザースケーラブル=いいえ" >   
  2. <メタ  http-equiv = "X-UA 互換"  コンテンツ= "IE=edge,chrome=1" >   
  3. <メタ 名前= "HandheldFriendly"  コンテンツ= "true" >   
  4. ユーザー スケーラブル属性により、iPad が横向きモードに切り替わった後、特定のサイズに戻すにはタッチが必要になるという問題を解決できます。

2. メディアクエリでスタイルを設定する

メディアクエリはレスポンシブデザインの核です。ブラウザと通信して、ページをどのように表示するかをブラウザに伝えます。端末の解像度が980px未満の場合は、次のように記述できます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. @media スクリーンと (最大幅:980px) {
  2. #頭 { … }
  3. #コンテンツ { … }
  4. #フッター { … }
  5. ここでのスタイルは、以前に定義されたスタイルを上書きします。

3. 複数のビュー幅を設定する

iPad および iPhone ビューと互換性を持たせたい場合は、次のように設定します。

XML/HTML コードコンテンツをクリップボードにコピー
  1. /**iPad**/
  2. @media 画面のみ、(min-width:768px)、(max-width:1024px){}
  3. /**iPhone**/
  4. @media 画面のみ、(幅:320px)、(幅:768px){}

3. フォント設定

これまで、開発者が使用するフォント単位のほとんどはピクセルです。通常の Web サイトではピクセルで問題ありませんが、レスポンシブ フォントは必要です。レスポンシブ フォントは、クライアント画面に適応できるように、親コンテナーの幅を基準にする必要があります。

CSS3 では、em に似ていますが HTML 要素に使用する方が便利な rem という新しい単位が導入されました。

rem はルート要素を基準としているので、ルート要素のフォント サイズをリセットすることを忘れないでください。

XML/HTML コードコンテンツをクリップボードにコピー
  1. html{フォントサイズ:100%;}
  2. これを済ませたら、レスポンシブ フォントを定義できます。
  3. @media (最小幅:640px){body{フォントサイズ:1rem;}}
  4. @media (最小幅:960px){body{フォントサイズ:1.2rem;}}
  5. @media (最小幅:1200px){body{フォントサイズ:1.5rem;}}
  6. rem を理解していない人のために、お勧めしたい良いブログがあります (http://www.cnblogs.com/YYvam1288/p/5123272.html)

4. レスポンシブデザインで注意すべき点

1. 幅は固定ではなく、パーセンテージで指定できます

XML/HTML コードコンテンツをクリップボードにコピー
  1. #ヘッド{幅:100%;}
  2. #コンテンツ{幅:50%;}

2. 画像処理

ここで、皆さんに鍵をお渡しします。ブロガーさん、自慢するのはやめてください、と言う人もいるかもしれません。画像処理の鍵は何?扉を開ける鍵だと思いますか?ブロガーさん、目を覚ましてください!

ああ、なんて機嫌が悪いんだろう。私が言ったキーは実際のキーではなく、画像処理の普遍的な方法です。それは何ですか?絵が液化しています。すると誰かがこう尋ねるでしょう。「画像の液化とは何ですか?」これは非常に良い質問です。私はあなたに 99 ポイントを与えます。あなたがあまりに傲慢になりすぎるのではないかと心配なので、もう 1 ポイントを与えます。誰もが知っているように、水は目に見えず、多くの容器に収まります。では、画像を水と見なすと、画像適応の問題を解決できるでしょうか?

記事に挿入された画像など、HTML ページ内の画像の場合、次のように CSS スタイル max-width を使用して画像の最大幅を制御できます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. #画像をラップする{
  2. 最大幅:100%;
  3. 高さ:自動;
  4. }
  5. この設定後、ID ラップ付きの画像は、ラップの幅と同じ幅に拡張されます。高さを自動に設定すると、画像が歪まないように、画像の元の高さと幅の比率が確保されます。

img タグ内の画像に加えて、背景画像としてロゴなどの背景画像もよく見かけます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. #log{display:block;
  2. 幅:100%;
  3. 高さ:40px;
  4. テキストインデント:55rem;
  5. 背景画像:url(logo.png);
  6. 背景繰り返し:繰り返しなし;
  7. 背景サイズ:100% 100%;
  8. }
  9. background-size は CSS3 の新しい属性で、背景画像のサイズを設定するために使用されます。オプションの値は 2 つあります。最初の値は背景画像の幅を指定するために使用され、2 番目の値は背景画像の高さを指定するために使用されます。1 つの値のみが指定されている場合、もう 1 つの値はデフォルトで auto になります。
  10. background-size:cover; 要素を埋めるために画像を比例的に拡大します
  11. background-size:contain; 要素のサイズに合わせて画像を比例的に縮小します

最後に、レスポンシブレイアウトの実装原則をまとめます。

まず、モバイルファーストの原則に従い、インタラクションとデザインは主にモバイルに基づいており、PCはモバイルの延長線上にある必要があります。ページはさまざまな端末と互換性がある必要があるため、レスポンシブにする必要がある重要なポイントは2つあります。レスポンシブレイアウトとレスポンシブコンテンツ(画像、マルチメディア)です。

XML/HTML コードコンテンツをクリップボードにコピー
  1. 1. レスポンシブレイアウト
  2. 1. メタタグの定義
  3. 2. メディアクエリを使用して対応するスタイルを調整する
  4. 2. レスポンシブコンテンツ
  5. 1. レスポンシブ画像

皆さんが何を期待しているかは分かっています。写真がなければ真実はありません。ドームもないなんて、ナンセンスですよね? 単なる話です。心配しないでください。私はこんな風に打ち負かされることはありません。これが私の個人的なレスポンシブ レイアウト ドームです。

XML/HTML コードコンテンツをクリップボードにコピー
  1. git html コード https://github.com/lifenglei/mygit/blob/master/xiang.html
  2. CSS コード https://github.com/lifenglei/mygit/blob/master/xiang.css

さて、ブロガーの苦労の成果がここにあります。次回はモバイル端末のレイアウトについてまとめます。

上記のレスポンシブレイアウトの概要(推奨)は、エディターがあなたと共有するすべてのコンテンツです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

オリジナルURL: http://www.cnblogs.com/dreamsboy/archive/2016/07/09/5656009.html

<<:  MySQL最適化ソリューション: スロークエリログを有効にする

>>:  html2canvas を使用して、Baidu マップを含む Dom 要素を画像に処理するソリューション

推薦する

MySQLにおける(JOIN/ORDER BY)文のクエリ処理と最適化方法

EXPLAIN ステートメントは、MySQL クエリ ステートメント プロセスと EXPLAIN ス...

MySQL の 10 進数データ型の小数点埋め込み問題の詳細な説明

序文開発プロセスでは、10 進データ型がよく使用されます。 MySQL では、小数点は正確なデータ型...

MySQL にテーブルデータを挿入するときに中国語の文字化けが発生する問題を解決する方法

1. 問題開発中に、他のデータベースから MySQL データベース テーブルにデータを挿入すると、次...

マウスをホバーすると画像が折りたたまれる効果を実現する CSS

マウスをホバーすると画像が折りたたまれる効果を実現する CSS 1. 実施のポイント折り畳みは複数の...

複数の .sql ファイルを MySQL に効率的にインポートする方法の詳細な説明

MySQL には、複数の .sql ファイル (SQL ステートメントを含む) をインポートする方法...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

最新の仮想マシン VMware 14 インストール チュートリアル

まず、VMware 14のアクティベーションコードをお渡ししますFF31K-AHZD1-H8ETZ-...

シンプルなタブバー切り替えコンテンツバーを実装するJavaScript

この記事では、タブバーの切り替えコンテンツバーを簡単に実現するためのJavaScriptの具体的なコ...

Node.jsミドルウェアの仕組みの詳細な説明

目次Express ミドルウェアとは何ですか? Expressミドルウェアを作成するための要件Exp...

MySQL 5.7.17 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

mysql5.7.17無料インストールバージョンのインストールに関する最近の経験1.ダウンロードして...

Django 2.2 を MySQL データベースに接続する方法

1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...

Vue3 でマークダウン エディター コンポーネントを使用する方法

目次インストールコンポーネントのインポート基本的な使い方保存したマークダウンまたは HTML テキス...

Navicat が MySQL にリモート接続するときに発生する 10060 不明エラーを解決する方法

はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...

MySQLストアドプロシージャの原理と使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...

Mysqlクエリ条件で文字列の末尾にスペースがあっても一致しない問題の詳細な説明

1. テーブル構造テーブル人id名前1あなた2あなた(スペース) 3あなた(スペース2つ) 2. ク...