ようやく手元のプロジェクトが終了し、行方不明だった人たちが戻ってきました!プロジェクトを進める過程で、考えるべき点が数多くありましたので、簡単にお話ししたいと思います。 最初に遭遇する問題は、Web ページ サイズの適応の問題です。 最も一般的に使用される方法は次のとおりです。 • まず、ページ サイズは画面からはみ出さずに画面いっぱいに表示される必要があります。 html <head> タグに viewport を追加するだけです (以下を参照)。パラメータは、ページ幅 = 画面幅、最大および最小の拡大縮小率はどちらも 1、ユーザーは拡大または縮小できないことを表します。 XML/HTML コードコンテンツをクリップボードにコピー
• パーセンテージの適応: 長さの単位をパーセンテージに変換して、要素の長さと幅が異なる幅で変化するようにします。 利点: 幅間のシームレスな接続と、比較的便利な操作。 デメリット: フォント サイズを調整するには、別の一連の適応メソッドが必要です。画面の幅が 700 ピクセルを超える場合、パーセンテージに基づいていると要素が大きくなりすぎて、調整が難しくなります。 •Rem と em の適応: メディア クエリ メソッドを使用して、さまざまな画面幅での <html> または <body> のフォント サイズを決定します。次に、適応性を実現するために、単位として px ではなく rem と em を使用します。 利点: さまざまな画面幅に応じて設定できるため、画面が大きすぎる場合に前述の比率の問題を完全に解決できます。フォントサイズも問題ありません。 デメリット: 幅の範囲に応じて設定され、シームレスな変換を実現できません。 -------------------------------------------------------------------------------- これらの互換性方法にはそれぞれ長所と短所があり、どれも完璧ではありません。短所を回避しながら長所を組み合わせるにはどうすればよいでしょうか。 Taobao の適応方式を参考にすると、偶然、ページ <html> のフォントサイズが画面の幅に応じて自動的に調整され、画面の幅と設定されたフォントサイズの商が一定であることを発見しました。 つまり、JS を使用して画面の幅を取得し、それを固定比率に従って縮小し、それを rem の単位長さとして使用して適応を実現するのだと思います。 これはあらゆる利点を備えた解決策ではないでしょうか? ?ちょっと興奮させてください(☆_☆) -------------------------------------------------------------------------------- JS コードは非常に簡単に記述でき、rem 設定を使用してシームレスな接続を実現できないという問題を完全に解決します。 しかし、モバイル側でテストした後、問題が発生しました。モバイル側の Safari は、HTML が読み込まれる前に JS を超高速で実行しました。ページがビューポートに応じて幅を設定する前に、JS は間違った幅を読み取り、要素が以前の 0^0 の 2 倍の大きさになりました。この問題を解決するには、setTimeout() が必要でした。 -------------------------------------------------------------------------------- 最終コード JavaScriptコードコンテンツをクリップボードにコピー
最後に、適応のために rem を使用する際に発見した落とし穴について付け加えておきます。HTML で大きなフォント サイズを設定すると、ブロック要素内のインライン要素のマージンとパディングに追加の値が割り当てられます。解決策は、外側のブロック要素のフォント サイズを 0 に設定することです。 適応型モバイル Web ページ サイズを実装する上記の方法は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 オリジナル URL: http://www.cnblogs.com/daisykoo/archive/2016/05/24/5522958.html |
<<: CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い
これからの道は常に困難で、棘だらけです。歯を食いしばって、乗り越えられると信じてください。さあ、さあ...
はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...
IPマスカレードとポート転送Firewalldは2種類のネットワークアドレス変換をサポートしています...
SQL文 ドロップトリガー もし sys_menu_edit が存在します。 各行のsys_menu...
コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...
問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...
目次1. コンストラクタとインスタンス2. プロパティプロトタイプ3. プロパティ __proto_...
目次1. 関数の抽出2. 重複した条件付きスニペットを結合する3. 条件分岐文を関数に抽出する4. ...
MySQLマルチインスタンスとは簡単に言うと、MySQL マルチインスタンスとは、サーバー上で複数の...
序文この世の愛には値段のつくものもありますが、データには値段のつけられないものがあります。将来、誤っ...
目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...
mongoイメージを取得する sudo docker pull mongo mongodbサービスを...
1.1 はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメ...
この記事では、Vueで開始時間と終了時間の範囲を照会する方法を参考までに紹介します。具体的な内容は次...
1. MySQLデータベースのエンコーディングを確認する mysql -u ユーザー名 -p パスワ...