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

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

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

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

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

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

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

推薦する

vue3 を使用したジグソーパズルゲームのリファクタリングの例

序文プロジェクト内のパズルゲーム(デジタル華容路とも呼ばれる)を再構築するのに 2 日かかりました。...

Vue がコンポーネント通信を実装する 8 つの例

目次1. Props 親コンポーネント ---> 子コンポーネント通信2. $emit 子コン...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

CentOS システムの rpm インストールと Nginx の設定

目次CentOS rpm のインストールと Nginx の設定導入rpm パッケージのインストールサ...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

mysql-8.0.19-winx64 をインストールしてログインするための初心者向けチュートリアル (初心者必読)

目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...

SQL 集計、グループ化、並べ替え

目次1. 集計クエリ1. COUNT関数2. SUM関数3. AVG関数4. MAX関数とMIN関数...

Nginx 仮想ホストの詳細な分析

目次1. 仮想ホスト1.1 仮想ホストの概念1.2 仮想ホストタイプ2. IP仮想ホストに基づく2....

MySQL 8.0.16 winx64 のインストールと設定方法のグラフィックチュートリアル

最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...

ホームページのデザインはウェブデザイナーのレベルを最もよく反映する

私がこれまで携わってきた多くのプロジェクトでは、基本的に避けられない悪循環がありました。それは、ホー...

Linux で gdb を使用してコア ファイルをデバッグする方法

1.コアファイルプログラム実行中にセグメンテーション エラー (コア ダンプ) が発生すると、プログ...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

Intellij IDEA による Docker イメージの展開方法の手順の迅速な実装

目次1. Dockerはリモートアクセスを可能にする2. Intellij IDEAにDockerプ...

スタックメニューを実装するためのjQueryプラグイン

jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...

Mysql Workbench クエリ mysql データベース メソッド

Mysql Workbench はオープンソースのデータベース クライアントです。このオープンソース...