レスポンシブ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はインデックスプッシュダウンを数秒で理解するのに役立ちます

推薦する

JSはショッピングカート効果の単純な加算と減算を実装します

この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...

React の 3 つの主要属性における Ref の使用に関する詳細な説明

目次クラスコンポーネント機能コンポーネントインタビューのよくある質問: React における ref...

MySQL で binlog を使用する際のフォーマットの選択方法

目次1. binlogの3つのモード1.ステートメントレベルモード2. 行レベルモード3. 混合モー...

Windows 10 システムで nginx ファイル サーバーを構成するためのグラフィック チュートリアル

Nginx の公式 Web サイトから Windows バージョンの Nginx をダウンロードしま...

CSS3はマスク連打機能を実現する

最近Bステーションでスマートアンチブロッキング弾幕と呼ばれる弾幕エフェクトを見ました。これは伝説のマ...

TortoiseSvn Little Turtle インストール 最新の詳細なグラフィックチュートリアル

tortoiseGit のインストール時にいつも問題があったので、単純に svn に変更しました。途...

React Nativeでaxiosを使用してネットワークリクエストを行う方法

フロントエンド開発では、Ajax、jQuery ajax、axios、fetch など、データ要求を...

MySQL の悲観的ロックと楽観的ロックの理解と応用分析

この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...

MySQL 8.0.12 クイックインストールチュートリアル

MySQL 8.0.12 のインストールには 2 日かかり、さまざまな問題が発生しました。以下にまと...

Windows で virtualenv を使用して仮想環境を作成する方法 (2 つの方法)

オペレーティング システム: windows10_x64 Python バージョン: 3.6.8仮想...

MySQL に外部キー制約を追加する具体的な方法

このチュートリアルの動作環境: Windows 7 システム、MySQL 8 バージョン、Dell ...

JSON.stringify の簡易版の実装とその 6 つの主要機能の詳細な説明

目次序文JSON.stringify の 6 つの機能特集1特集2特集3特集4特集5特集6手動で文字...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...