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

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

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

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

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

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

レスポンシブ 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 要素を画像に処理するソリューション

推薦する

Linux trコマンドの使い方

01. コマンドの概要tr コマンドは、標準入力からの文字を置換、圧縮、削除できます。ある文字セット...

MySQL の連結で複数の一重引用符と三重引用符を使用する際の問題

文字列を動的に連結する場合、文字連結を使用することが多いです。次のような連結の引用符の意味がわかりま...

MySQL数千万の大規模データに対する30のSQLクエリ最適化テクニックの詳細な説明

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

HTML で dl(dt,dd)、ul(li)、ol(li) を使用する方法

HTML <dl> タグ#定義と使用法<dl> タグは定義リストを定義します...

ネイティブ js を使用してライブ バレット スクリーンのスクロール効果をシミュレートします。

目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...

CSS3のall属性の使い方を理解する

1. 互換性以下のように表示されます。 互換性は問題ありません。IE を除き、他のブラウザは基本的に...

mysql 3つのテーブルを接続してビューを作成する

3 つのテーブルが接続されています。テーブル A のフィールド a はテーブル B のフィールド b...

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる

<br /> 第 1 部と第 2 部では、Web サイトのパフォーマンス、ページ コンテ...

LinuxのCentos7でmysql5.7.29を構築する詳細なプロセス

1. MySQLをダウンロードする1.1 ダウンロードアドレスhttps://downloads.m...

Jenkins の Publish Over SSH プラグインを使用してプロジェクトをリモート マシンにデプロイする手順

SSH プラグインの使用による公開Publish Over SSH を使用する前に、SSH 秘密キー...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

DockerはMysql、.Net6、Sqlserverなどのコンテナをデプロイします

目次CentOS 8にDockerをインストールする1. yumを更新する2. containerd...

HTML で div+CSS を使用してシンプルな矢印アイコンを実装するコード

ウェブデザインでは、ウェブページを美しく見せるために矢印を装飾としてよく使用します。現在、多くのウェ...