ネットで検索してみたところ、多くの面接でモバイル適応方法について質問されることが分かりました。最近いくつかの記事を読んだので、ここで要約したいと思います。 まず、これまでに登場したモバイル端末への適応に関するいくつかの技術的ソリューションについて説明します。
1. メディアクエリ
@media screen and (max-width: 600px) { /*画面サイズが600px未満の場合は、次のCSSスタイルを適用します*/ /*あなたの CSS コード*/ } アドバンテージ
欠点
2.フレックスレイアウト Tmall の実装方法を使用して説明しましょう。 高さは固定、幅は適応可能で、すべての要素は 画面の幅が変わると、ページもそれに応じて変化します。その効果は、PC ページの流動的なレイアウトに似ています。幅を調整する必要がある場合は、レスポンシブ レイアウト (NetEase News など) を使用するだけで、「適応」が実現されます。 3. rem + ビューポートスケーリング これは Taobao が採用しているソリューションでもあります。画面の幅に応じて 追伸:レム 実施原則
iPhone 6 PlusのDPRが3の場合、ページは3倍に拡大され、Plusでは1px(CSS単位)がデフォルトで3px(物理ピクセル)になります。 このようにすると、デバイスに表示される Web ページ全体のページ幅は、デバイスの論理ピクセル サイズ、つまり 4. rem実装 たとえば、「Meizu」モバイル端末の実装では、 <meta name="viewport" content="width=デバイス幅、初期スケール=1、最大スケール=1、ユーザースケーラブル=いいえ"> 次のコードを使用して、 !関数 (d) { var c = d.document; var a = c.documentElement; var b = d.devicePixelRatio; var f; 関数e() { var h = a.getBoundingClientRect().width, g; b === 1 の場合 高さ = 720 } if(h>720) h = 720; //基準値の制限値を設定します g = h / 7.2; a.style.fontSize = g + "px" } (b > 2) の場合 { 3 = 3 です } それ以外 { (b > 1) の場合 { 2 = 2 です } それ以外 { 1 = 1 です } } a.setAttribute("data-dpr", b); d.addEventListener("サイズ変更", 関数() { タイムアウトをクリアします(f); f = setTimeout(e, 200) }、 間違い); e() }(ウィンドウ); 1ピクセルの境界線HD 1. タオバオの実装方法 上記の Taobao 実装方法は、 div{ 幅: 1px; 高さ: 100%; 表示: ブロック; 左境界線: 1px 実線 #e5e5e5; -webkit-transform: スケール(.5); 変換: scaleX(.5); } 欠点: 角丸は実現できず、4 つの境界線を実現するのは面倒で、個別にしか実現できません。ネストすると、含まれている効果に望ましくない影響を与えるため、このソリューションは :after と before で独立して使用されることの方が多いです。 実施方法: CSS を使用して影を処理し、0.5 px の効果を実現します。 -webkit-box-shadow:0 1px 1px -1px rgba(0, 0, 0, 0.5); アドバンテージ: 基本的に、丸いボタン、単一の行、複数の行など、すべてのシナリオに対応できます。 欠点: 色の扱いは難しく、黒の 2. イメージの実装
単一行: div{ 高さ: 1px; 背景画像:-webkit-linear-gradient(上、透明 50%、#000 50%); 背景の位置: 左上; 背景繰り返し: 繰り返しなし; 背景サイズ: 100% 1px; } 複数行: div{ 背景画像: -webkit-linear-gradient(上、透明 50%、#000 50%)、 -webkit-linear-gradient(下、透明50%、#000 50%)、 -webkit-linear-gradient(左、透明度 50%、#000 50%)、 -webkit-linear-gradient(右、透明50%、#000 50%); 背景サイズ: 100% 1px、100% 1px、1px 100%、1px 100%; 背景繰り返し: 繰り返しなし; 背景の位置: 左上、左下、左上、右上; アドバンテージ: 欠点: モバイルフロントエンド適応ソリューション(概要)に関するこの記事はこれで終わりです。モバイルフロントエンド適応に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: vue の v-for ディレクティブはリストのレンダリングを完了します
>>: IEウェブページのポップアップウィンドウの共通パラメータは自分で設定できます
以下は、Flex レイアウトを使用した棒グラフです。 HTML: <div class=&qu...
今では、自宅のソファーに座っていても、外の喫茶店にいても、ノートパソコンの電源を入れてWi-Fiに接...
背景多くのウェブサイトのデザインは、一般的にコンテンツ+フッターの2つの部分で構成されています。コン...
目次前に書いてビジネスコードは環境変数を使用するwebpack.DefinePlugin プラグイン...
オンライン情報を参考に、cmakeを使用してCentOS6.8サーバーにMySQL5.7.18をイン...
基本的にすべてのeコマースプロジェクトにはショッピングカートの機能があります。これはreact-na...
目次序文フラグメントの動機React Fragment の紹介と使用<React.Fragme...
この記事では、MySQL データベースでのアカウントの作成、認証、データのエクスポートおよびインポー...
本来、この第 7 章では、デザインにおけるレイヤーと空間テクニックについて深く議論するはずです。しか...
最近VScodeのリモート開発機能をいじっています。Dockerのコンテナに接続できるほか、WSLに...
前回の記事では、ソース コードを使用してロック関連の情報をデバッグする方法を紹介しました。ここでは、...
今日は、複数ページのスクロール切り替え効果を備えた Web サイトを簡単かつ効率的に開発できる、小さ...
この記事では、docker 経由で Jenkins+Maven+SVN+Tomcat をデプロイし、...
従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...
書き換えモジュールは ngx_http_rewrite_module モジュールです。その主な機能は...