ネットで検索してみたところ、多くの面接でモバイル適応方法について質問されることが分かりました。最近いくつかの記事を読んだので、ここで要約したいと思います。 まず、これまでに登場したモバイル端末への適応に関するいくつかの技術的ソリューションについて説明します。
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ウェブページのポップアップウィンドウの共通パラメータは自分で設定できます
背景多くのウェブサイトのデザインは、一般的にコンテンツ+フッターの2つの部分で構成されています。コン...
MySQLデータベースを完全にアンインストールするプロセスは次のとおりです。 1. MySQLサービ...
前回の記事でMySQLサービスが起動しない問題が解決したと分かった後、パスワードなしでrootユーザ...
この記事では、Harbor アーキテクチャの構成と、実行時に各コンポーネントを使用する方法について説...
MySQLはトリガーを使用してデータベース内のテーブルの行制限を解決します。詳細な説明と例最近のプロ...
問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...
最初は、複数の列のコンテンツのサイズと高さが異なります。ここで、表示する背景を異なるものに設定し、各...
MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...
VMware Workstation を使用して Windows 10 で仮想マシンを開くと、VMw...
Fabric.js は非常に便利なキャンバス操作プラグインです。ここでは、日常のプロジェクトで使用さ...
SeLinuxを無効にするsetenforce 0永久に閉店: vi /etc/selinux/c...
Web フロントエンド開発のプロセスでは、UI デザイナーはグラデーション テキストを使用したデザイ...
環境セントロス6.6 MySQL 5.7インストールシステムがインストールされている場合は、まずアン...
今日午後ずっと私を悩ませたバグを記録する半月前から始めましょう。それから.................
この記事の例では、カウントダウン機能を実装するためのVueの具体的なコードを参考までに共有しています...