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

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

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

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

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

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

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

推薦する

要素の$notifyポイントについての簡単な説明

当初の意図は、element-ui の $notify 通知をコンポーネントにカプセル化することでし...

JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

目次準備する5つの武器…のためにオブジェクト.キーオブジェクト.getOwnPropertyName...

openlayers6のマップオーバーレイの詳細な説明

1. オーバーレイの概要オーバーレイとは、その名の通り、別の形で地図上に表示される、覆うことを指しま...

MySQLのユーザー権限の確認と管理方法の詳細な説明

この記事では、例を使用して、MySQL ユーザー権限を確認および管理する方法を説明します。ご参考まで...

Docker のコンテナ データ ボリュームの概要

目次Dockerコンテナのデータ量データボリュームの使用方法1: コマンド-vを使用して直接マウント...

Ubuntu 18.04 (物理マシン) で OpenWRT 開発環境を構成する方法

1. 仮想マシン(物理マシン)をインストールする仮想マシンまたは物理マシンにインストールできます。 ...

Linuxでディスクをマウントする方法

仮想マシンを使用しているときに、ディスク容量が不足し、継続使用するためにディスクをマウントする必要が...

SQL Server での exists と except の使用法の概要

目次1. 存在する1.1 説明1.2 例1.3 交差/2017-07-21 2. 除く2.1 説明2...

コードの互換性を高めるために、HTMLを次のように記述します。

たとえば、スクリーン リーダー ソフトウェアを必要とするユーザーなどです。フロントエンド開発者として...

MySQL COUNT関数の使用と最適化

目次COUNT 関数は何をするのですか? MyISAMの「魔法」シンプルなCOUNT最適化近似値を使...

Linuxファイルの基本属性の知識ポイントのまとめ

Linux システムは典型的なマルチユーザー システムです。異なるユーザーは異なる立場にあり、異なる...

Vueコンポーネント間のデータ共有の詳細な説明

目次1. プロジェクト開発において、コンポーネント間の最も一般的な関係は次の 2 つのタイプに分けら...

Tomcatの起動が遅い問題を素早く解決、超簡単

今日、私はクラスメートが問題を解決するのを手伝いました - Tomcat の起動が非常に遅く、約 5...

Nginx サーバーの https 設定方法の例

Linux: Linux バージョン 3.10.0-123.9.3.el7.x86_64 ngin...