目次
vw
ホームページ ウェブフロントエンド htmlチュートリアル モバイル端末での幅のパーセンテージのいくつかの実装_html/css_WEB-ITnose

モバイル端末での幅のパーセンテージのいくつかの実装_html/css_WEB-ITnose

Jun 24, 2016 am 11:28 AM

モバイル側のデバイス幅が異なり、画面の縦幅が比較的小さいため、PC 側の固定幅および中央揃えのテクニカル レイアウトとは異なり、通常は全画面形式でレイアウトされます。フルスクリーンを使用するため、さまざまなパーセントテクニックが特に重要です。実際の戦闘プロセスで使用されるいくつかのテクニックについて簡単に説明します。

さまざまなテクノロジーの比較を容易にするために、同じ 4 つの等しいフルスクリーン要件を達成するために異なるテクノロジーを使用し、各部分を正方形に分割します。

全体的な HTML 構造は次のとおりです:

// `list--xxx`表示下面具体技术的名字ul.full-list.list--xxx    .item*4
ログイン後にコピー

視覚的に見やすくするために、奇数項目と偶数項目の背景色を異なるように設定します:

.full-list .item{ background: #f5f5f5;}.full-list .item:nth-child(2n){ background: #ccc;}.full-list .item:hover{ background: #f00;}
ログイン後にコピー

デモ効果については、以下を参照してください: モバイルでのパーセント幅のいくつかの実装

vw

これは、新しい一連の単位には、合計 4 つの vw、vh、vmin、vmax があり、それぞれウィンドウの幅、ウィンドウの高さ、ウィンドウの幅と高さの最小値、最大値を表します。ウィンドウの幅と高さ。現在、Android 4.3 ではサポートされていませんが、iOS では十分にサポートされています。詳しくは、caniuse vw を参照してください。

1vw はウィンドウ幅の 1 パーセントを表します。同様に、10vw は 10 パーセントを表します。この新しい部門の出現により、私たちの W3C 組織もモバイル端末の割合を懸念していることが分かりました。

上記の 4 分の 1 の場合、それぞれの幅は 25vw である必要があり、ul の list--xxx は list--vw になります。

そうですか

それは確かに、問題を数分で解決します。ただ、Android 側はまだ少し互換性がなく、対処するのが難しいですが、未来は明るいと信じています。

rem

まず最初に、このセクションで説明したアイデアが実際に Taobao lib-flexible で提案されていることを説明させてください。原則として、js はウィンドウの幅を取得し、html の font-size をウィンドウの幅の 10 分の 1 または 10 パーセントに設定します。また、rem 単位はルート要素 html に対する相対的なサイズを表します。 1rem はウィンドウ 1 の幅の 10 分の 1 を表します。このようにして、rem と html のフォント サイズの関係を通じて、ウィンドウの幅に対する相対的なパーセンテージが得られます。

js は HTML のフォント サイズを設定します

.list--vw{ overflow: hidden;}.list--vw .item{ float: left; width: 25vw; height: 25vw;}
ログイン後にコピー

CSS コードは次のとおりです:

document.addEventListener("DOMContentLoaded", function(event) {    document.documentElement.style.fontSize = window.innerWidth/10 + "px";  });
ログイン後にコピー

ここで、1rem はウィンドウ幅の 10% であり、上記の 1vw はウィンドウ幅の 1% であることに注意してください。

lib-flexible については data-dpr という概念もありますので、興味があれば勉強してみてください。ただし、個人的には、この機能は iOS の Retina 画面の 1px を実現する以外には少し役に立たないと感じています。メディアクエリを使えば解決できるので、そのフォントサイズの考え方だけを採用します。

私たちのフロントエンド業界にこのような優れたソリューションを作成してくれた Xiashatao に感謝します。

flex とパーセント

これは言うまでもありませんが、flex は今やどこにでもあり、% はさらに基本です。

コードに直接移動します:

.list--rem{ overflow: hidden;}.list--rem .item{ float: left; width: 2.5rem; height: 2.5rem;}
ログイン後にコピー

パディングまたはマージンの % 単位は、親要素の幅に従って計算されることに注意してください。

もちろん、均等割り算のみを実装する必要がある場合は、display:table も良い選択です。コードは次のとおりです:

.list--flex{ display: flex;}.list--flex .item{ flex: 1; padding-top: 25%; height: 0;}.list--percent{ overflow: hidden;}.list--percent .item{ float: left; width: 25%; height: 0; padding-top: 25%;}
ログイン後にコピー
最後に、Android 4.3 を考慮しない場合は、vw が最良の選択です。互換性の問題を考慮する場合は、rem のソリューションが最良の選択です。残りの flex、%、または table は、最も単純かつ最も問題のないものではありませんが、単純な幅の処理を処理することはできますが、幅と同時に高さが変更される場合、つまり、幅と高さが特定の条件に準拠する場合です。比率 (写真やビデオの変化など) を拡張するには、パディング技術を使用する必要があります。そのため、純粋な横幅レイアウトであれば気軽に使えますが、ある程度のアスペクト比を実現したい場合にはvmやremが最適です。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

< Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

< datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

< meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

この記事では、html5< time>について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? < iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

See all articles