最適なウェブページ幅とその互換性のある実装方法

最適なウェブページ幅とその互換性のある実装方法
1. Web ページをデザインするときに、幅を決定するのは非常に面倒な作業です。

jb51.net を例にとると、Google Analytics の統計によると、過去 6 か月間で訪問者の画面解像度は合計 81 種類ありました。最小解像度は 122x160 で、これは携帯電話の解像度であるはずです。最大解像度は 3360x1050 で、それがどんなデバイスであるかは神のみぞ知るところです。

このようにさまざまなサイズの画面で Web ページが満足のいく結果を表示するのがいかに難しいかは容易に想像できます。たとえば、幅 400 ピクセルの画像は、800 ピクセルの画面では幅の 50% を占めますが、1920 ピクセルの画面 (Windows Vista の一般的な設定) では幅の 20% しか占めません。
2.

現在、一般的な画面解像度の幅は、800px、1024px、1280px、1440px、1680px、1920px の 6 種類あります。その中では1024pxが最も一般的ですが、大画面ディスプレイの普及に伴い、より高い解像度が一般的になりつつあります。

一般的な解決策は 2 つあります。

最初の方法: JavaScript を使用して、さまざまなクライアント解像度に応じて CSS スタイルシート ファイルを選択します。具体的な方法については、こちらをご覧ください。

2 番目の方法: Fluid Width Layout を使用して、Web ページの幅を適応させます。

最初の方法の利点は、画面解像度に応じて完全に異なるレイアウトを使用できることです。欠点は、複数のスタイルシートを設計して維持する必要があり、面倒なことです。 2 番目の方法では、スタイルシートを 1 つだけ使用するため、より便利です。

次の記事では、css-tricks のソリューションに基づいて 2 番目の方法を実装する方法について説明します。これは実際には非常に簡単です。

3.

まず、Web ページのデフォルトの幅は、表示幅 1024px に合わせて決定されます。これは、1024x768 が現在最も一般的な解像度であるというだけでなく、この幅が Web ページに最も適しているためでもあります。1) 3 列レイアウトに十分なコンテンツを収容できます。2) 1 行のテキストは長すぎてはいけません。1024 ピクセルが限界で、長すぎると読み疲れを引き起こしやすくなります。3) 現在のインターネット帯域幅の状況では、Web ページで高解像度に必要な大きなサイズの画像を使用することは困難です。

次に、Web ページの幅は 780 ピクセル〜 1260 ピクセルの範囲内で自動的に変更されます。つまり、最小値は 780 ピクセル以上、最大値は 1280 ピクセル以下になります。

最後に、解像度が大きい場合、Web コンテンツは自動的に中央に配置されます。

4.

たった 4 行の CSS ファイルの書き方を以下に示します。これらのステートメント行はすべてページ全体、つまり body タグまたは最も外側の div 領域に適用されることに注意してください。

マージン: 10px 自動;

この行により、Web ページがどの解像度でも中央に配置されます。

最小幅: 780px;
最大幅: 1260px;

これら 2 行は、Web ページの最小幅と最大幅を指定します。 IE6 ではこれら 2 行はサポートされていないため、IE6 では無効であることに注意してください。

幅:式(document.body.clientWidth < 782? "780px" : document.body.clientWidth > 1262? "1260px" : "auto");

この行は IE6 の回避策です。 CSS 式を使用しますが、JavaScript を使用して実装することもできます。

さらに、内部ブロックを自動的に拡大縮小したい場合は、その幅をパーセンテージで表すことができます。例:

#div-左{
幅:50%;
}

#div-右{
幅:50%;
}

最終結果とソースコードのダウンロードはここからご覧いただけます。ブラウザウィンドウのサイズを変更すると、Web ページが 780 ピクセル〜 1260 ピクセルの範囲内で自動的に拡大縮小されることがわかります。

5.

最後に、あまり意味がないので、コンピューターを使用するときに盲目的に高解像度を使用しないことをお勧めします。

<<:  Vueスロットの詳細な説明

>>:  Linux カーネルプログラミングにおけるコンテナの of() 関数の紹介

推薦する

MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...

mysql maxとwhere間の実行問題の概要

mysql maxとwhereの間の実行の問題SQLを実行します: テーブル「grades」を作成し...

MySQL での正規表現の使用に関する詳細

目次1. はじめに2. 製品テーブルを準備する2.1 ステートメントの順序2.2 大文字と小文字の区...

CentOS の環境変数と設定ファイルの詳細な説明

序文CentOS 環境変数設定ファイル システムは階層型システムであり、他のマルチユーザー アプリケ...

Vue3 トランジションアニメーションの落とし穴記録について

目次背景問題の場所さらなる分析要約する背景私のコース「Vue 3 エンタープライズレベルの音楽アプリ...

Nginx 逆生成 Mogilefs 分散ストレージ例の詳細な説明

1. 分散ストレージシステムの概要情報技術の継続的な発展により、利便性がもたらされる一方で、データ量...

WebpackはTypeScriptコードをパッケージ化するためのスキャフォールディングを構築します

フォルダを作成するディレクトリ構造: dabaots npm init -yを初期化して packa...

WeChatミニプログラムページ間の価値転送を実装する方法の例

ミニプログラムページ間で値を渡すみなさんこんばんは。こんばんはと言うのは、これを夜に書いたからです。...

ubuntu20.04 LTSにdockerをインストールする方法

ゼロ: 古いバージョンをアンインストールするDocker の古いバージョンは、docker、dock...

JavaScriptの基本的なインタラクションの詳細な説明

目次1. 要素の入手方法文書から入手ID取得クラス名 (className) を取得します。タグ名 ...

MySQL の char、varchar、text フィールド タイプの違い

MySQL では、char、varchar、text の各タイプのフィールドはすべて文字タイプのデー...

SSMは、mysqlデータベースアカウントのパスワード暗号文ログイン機能を実装します。

導入当社は、情報セキュリティと機密アプリケーションに関わるいくつかのプロジェクトの研究開発に従事して...

nginx のロードバランシングとリバースプロキシの説明

目次負荷分散負荷分散分類1. DNS 負荷分散2. IP負荷分散3. リンク層の負荷分散4. ハイブ...

CSS 属性を使用してマウス イベントをブロックする方法 (マウス クリックは上位の要素を貫通する可能性があります)

由来: 数日前、テスターから写真を見るという要件が送られてきました。 この要件を見たとき、私は少し混...

nginxリバースプロキシを使用するときに長時間接続を維持する方法

・【シーン説明】 HTTP1.1 以降、HTTP プロトコルは永続的な接続 (長い接続とも呼ばれます...