レスポンシブWebデザイン学習(1) - 画面サイズと使用率の決定

レスポンシブWebデザイン学習(1) - 画面サイズと使用率の決定

最近では、モバイルデバイスがますます普及しており、ユーザーがスマートフォンやタブレットを使用して Web を閲覧することがますます一般的になっています。しかし、従来の固定型ページはモバイル端末ではうまく表示できません。そこで、イーサン・マルコットはレスポンシブ Web デザインの概念を提案しました。

レスポンシブ Web デザインの英語名は Responsive Web Design で、略称は RWD です。

私は図書館から O'REILLY の「Head First Mobile Web」という本を借りました。この本では、RWD を行うためのいくつかのテクニックが説明されていました。

今日学んだことは2つあります。

1. メディア情報を使用して画面サイズを決定する

2. 幅などのサイズ関連の情報を宣言するために以前使用されていたピクセルをパーセンテージに置き換えます。

今日の実験の結果を見てみましょう (この記事の最後に実験例のダウンロード リンクがあります)。

ビデオ:

ページを全画面で表示する場合


ブラウザを狭めてモバイルデバイスを模倣する場合:

どうやってやるんですか?

まず、CSSファイル内のメディアステートメントを使用します

Web ページをさまざまなデバイス サイズに対応させたい場合は、事前にそれぞれのサイズを準備する必要があります。たとえば、通常の PC モニターでは、次のように 3 列で表示されます。

スマートフォンなどのモバイルデバイスでは、次のようにストリーミングで配信する必要がある場合があります。

明らかに、両者の CSS 配分は異なります。上図の 3 列表示では、左側と右側の列をそれぞれ必要な方向にフロートさせる必要がありますが、下図のフローレイアウトでは、ブロックが下方向に連続して表示されます。したがって、少なくとも異なる CSS 分布ごとに、異なる戦略が必要であることがわかります。これで、2 つの異なる CSS ファイルを編集し、<link> ディレクティブを使用してインポートできるようになりました。ただし、@media ステートメントを使用して論理的な判断を実行することもできます。以下のように: @media screen and ( min-width :480px){/*css style*/

その中で、スクリーンは多くの種類のメディアの 1 つであり、その他の一般的なメディアの種類には印刷が含まれます。最小幅はメディアの機能の 1 つです。メディアには論理的な判断を下すのに役立つ多くの機能があり、一般的な機能としてはモノクローム、最大幅などがあります。

この @media ステートメントの助けを借りて、if-else と同様の論理的判断を行うことができます。たとえば、例に示されている 2 つの異なる状況は、次のステートメントを使用して判断されます。

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

/************デスクトップ構造 CSS*************/
@media スクリーンと (最小幅:481px) {
/*デスクトップブラウザで表示されるウェブページの CSS*/
}
/************モバイル構造 CSS*************/
@media スクリーンと (最大幅:480px) {
/*モバイルブラウザで表示されるウェブページの CSS*/
}

この文では、「and」は論理積を表します。論理和を表現したい場合は、「,」を使用できます。たとえば、 @media printscreen and (monochrome)のようになります。{/**/

これは、「印刷デバイス」または「モノクロ画面デバイス」上にある場合に、中括弧内の CSS 設定が使用されることを意味します。

次に、寸法に関連付けられたピクセル単位をパーセンテージに置き換えます。

初めてデザインするときは、パーセンテージに合わせてデザインしてください。

また、従来のウェブページ設計方法に従って、まず各領域のピクセルを決定することもできます。たとえば、メイン領域が 460 ピクセルの場合、ウェブページ全体の幅を 960 ピクセルに設定すると、メイン領域の幅は 460/960 = 47.92% になります。この変換方法は、ウェブページを再構築するときに使用できます。

【テスト例ダウンロード】

<<:  詳細なアイデアを備えたシンプルな計算機の HTML 実装

>>:  MySQLはインデックスプッシュダウンを数秒で理解するのに役立ちます

推薦する

MySQLストレージ時間タイプの選択に関する問題の説明

MySQL では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...

LinuxにNginxを素早くインストールする方法

目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...

MySQLでANDとORを組み合わせる問題を解決する

以下のように表示されます。 SELECT prod_name,prod_price FROM pro...

MySQL 5.7.17 のインストールと使用方法のグラフィックチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

HTML における li タグの水平配置の例

ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...

Linux で LVGL エミュレータをコンパイルする際のエラーの解決方法

目次1. エラー現象2. エラー分析3. エラー解決1. エラー現象仮想マシンでLVGLエミュレータ...

CSS の複数行テキストがオーバーフローする場合の省略記号の例

複数行のテキストがオーバーフローすると省略記号が表示されますこの記事では 2 つの方法を推奨します。...

React+axios は github 検索ユーザー機能を実装します (サンプル コード)

負荷リクエスト成功リクエストに失敗しました cmdをクリックし、ファイルパスでEnterキーを押しま...

Alibaba Cloud で MySQL リモート接続を構成するための詳細な手順

序文ご存知のとおり、デフォルトでは、Alibaba Cloud にインストールされている MySQL...

mysql-8.0.15-winx64 解凍バージョンのインストールチュートリアルと終了する 3 つの方法

1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...

Vue プロジェクト コード分割ソリューション

目次背景目的分割前プロセス設計ディレクトリ構造の設計問題分割後プロセス設計ディレクトリ構造の設計問題...

MySQL DMLステートメントの使用に関する詳細な説明

序文:前回の記事では、注意深い学生であれば発見できたかもしれない DDL ステートメントの使用法を中...

Dockerはコード検出プラットフォームSonarQubeを構築し、Mavenプロジェクトのプロセスを検出します

1 はじめに優れたコーディング習慣は優れたプログラマーが備えるべき資質ですが、コードの品質を保証する...

js 配列から重複を削除する 11 の方法

実際の業務や面接では、「配列の重複排除」の問題によく遭遇します。以下は、js を使用して実装された配...

Nginx リバース プロキシ構成の完全なプロセス記録

1. 準備LinuxシステムにTomcatをインストールし、デフォルトのポート8080を使用してTo...