私は 1 年以上モバイル Web を開発してきましたが、非常に混乱する事柄に遭遇しました。例:
ここでのデバイス幅と JS を使用して取得する画面幅の違いと関係は何ですか? なぜ を削除するのでしょうか?ページは非常に小さくなりますか?
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
解像度が大きい多くの画面の画面幅が実際には大きくないのはなぜですか?JS を使用して取得される画面解像度と画面幅の違いと関係は何ですか?
「ピクセル」と「幅」に関する一連の質問をお待ちください。
最近、「幅」と「ピクセル」について調べるためにたくさんの情報を読んで、ようやく少し理解できたように感じました。ここで私の理解の一部を共有し、あなたの批判と修正を求めます。もちろん、この記事には他の記事からの引用文章も含まれています。記事の最後に参考記事のリンクをいくつか掲載します~
CSSピクセルとデバイスピクセル(css pxとデバイスピクセル)
まずCSSピクセル/ 'pɪks(ə)l; とは何かを理解してください。 , デバイスピクセルとは;
1. CSS ピクセルは、ブラウザーによって使用される抽象的な単位であり、主に Web ページ上にコンテンツを描画するために使用されます。 css px は Web 開発者向けに特別に提案された抽象的な概念であるとも言えます。これは、私たちが通常作成する CSS スタイルにのみ関連しており、解像度の px (720px*1280px など) とは何の関係もありません。
2.デバイス ピクセルは、公式の説明では、各 dp には独自の色、高さ、幅などが含まれます。
Web 開発を行う私たちにとって、最もよく使用するのは「CSS ピクセル」で、width:300px;font-size:14px; などの CSS ステートメントで使用されます。デバイス自体のピクセルとは関係ありません。言い換えれば、1 つの CSS ピクセルが物理的に何ピクセルを占めるかは不明です。この問題は、ページを拡大縮小することで理解しやすくなります。たとえば、通常の HTML ページには 300 ピクセルの要素があります。ページを拡大すると、その要素はより多くのデバイス ピクセル (デバイス ピクセル) を占有しますが、CSS ピクセルは変更されず、同じままです。その理由は、ページが占有するデバイス ピクセルが少なくなるためですが、CSS ピクセルは変更されないためです。つまり、要素が占めるデバイス ピクセルの数は、現在のページの拡大縮小率によって決まります。
しかし、ページのスケーリングは私たちの Web 開発にとって意味がないようです。しかし、問題があります。私たちが開発するページは、各画面で最適なスタイルで表示される必要があります。ページ内に制御できない要素を許可することはできません。 つまり、Web ビューポートを実行しています。開発時によく使われます。では、ビューポートとは正確には何ですか?また、コンテンツの幅がデバイス幅と同じである必要があるのはなぜでしょうか?デバイス幅の概念とは何でしょうか?それらが何であるかを見てみましょう。
ビューポートとデバイス幅
これら 2 つの概念を説明する前に、誰もが知っているが、その理由が理解されていない状況について話しましょう。PC で開発された通常の HTML ページを携帯電話に直接配置すると、「いいえ」が見つかるでしょう。ページがどんなに大きくても、小さな携帯電話の画面に表示できますが、JAVASCRIPT を使用してページ幅を取得すると、ほとんどのページ幅が 980 ピクセルであることがわかります。ビューポート関連と同じです。
ビューポートは Apple が起源ですが、現在はほとんどのブラウザーでサポートされています。ビューポートには、ビジュアル ビューポートとレイアウト ビューポートという 2 つの概念があります。ここで、ビジュアル ビューポートはビジュアル ウィンドウであり、デバイス自体の幅として理解できます。この時点で、長さが 960 のページがある場合、1 つの要素は 20% になります (実際には 192px に解析されます)。しかし、幅320pxの画面で開くと、この要素は64pxになりますが、この時点で設定したフォントサイズは12pxで、320pxの画面では64/12文字しか表示できません~
この問題に対して、Apple は、モバイル バージョンの Safari でビューポート メタ タグを定義しました。この仮想ウィンドウは、デスクトップ モニターに近い解像度です。 . Apple は 980px に配置します。携帯電話では、document.documentElement.clientWidth を通じて取得できます。
他のブラウザ メーカーも、中間テクノロジを使用する UCweb など、さまざまなソリューションを提供しています。
さらに、ブラウザのメーカーごとにレイアウト ビューポートのサイズについて独自の定義があると言われています。ただし、私が所有するいくつかの携帯電話 (Xiaomi 2s、SONY、Gionee、iPad) でテストした結果はすべて 980px でした。その中で、Xiaomi 独自のブラウザ、QQ ブラウザ、UC ブラウザ、Google Chrome、Opera ブラウザは Xiaomi 2s でテストされましたが、他の携帯電話にどのブラウザがインストールされていても結果は同じでした。はすべて980pxです。しかし、この値は Web 開発にはほとんど役に立たないようです。
ほとんどの場合、 このタグが最も強力であるため、ページ内のグラフィックスとテキストが正常に表示されます。ページの読みやすさが大幅に向上します。このメタ タグの機能は、レイアウト ビューポートをデバイス幅の幅に設定することです。しかし、デバイス幅とは正確には何でしょうか?
初代 iPhone では、解像度は 320*480、画面サイズは 3.5 インチでした (3.5 インチは画面の対角幅を指すことに注意してください)。このときのデバイス幅は 320px です。携帯電話の解像度も含まれます。この場合、device-width はデバイスの幅です。ただし、第 2 世代 iPhone の解像度は 480*960 に向上し、画面サイズは 3.5 インチのままです。device-width がデバイスの幅のままであれば、同じ 320px ページが 480* に配置されます。 960 の携帯電話の画面では、グラフィックとテキストが変更されるため、読みやすさに影響します。したがって、iPhone のデバイス幅は 320px に維持され、iPad は 1024px に維持されます。現時点では、device-width はデバイスの幅ではなくなり (つまり、解像度の幅ではありません)、中間層になります。 Android もこの概念を採用しています。デバイス幅の値のほとんどは 360 ですが、540 ピクセルや 600 ピクセルなどの奇妙な値もあります。 タグを設定した後、window.innerWidth を使用してデバイス幅の値を取得できます。
DPI について
dpi (Dots Per Inch) は、ppi (Point Per Inch) とも呼ばれ、翻訳するとピクセル密度とも呼ばれます。値が大きいほど、デバイスが占める 1 インチあたりのピクセル数を示します。表示容量が大きいほど、画像を高密度に表示できます。 (注: ここでのピクセルはデバイスのピクセルを指します。) DPI 計算式:
興味深いのは、この値が Apple の公式 Web サイトで発表されている 326 よりも少し高いことです。
その中で、PPIが120〜160の携帯電話は低密度携帯電話に分類され、160〜240は中密度携帯電話に分類され、240〜320は高密度携帯電話に分類されます。 320 は超高密度として分類されます (Apple はそれに上品な名前「網膜」を付けました)。
これらの密度は、私たちが最もよく知っている iPhone 4 または 4s の PPI は 326 で、これは超高密度の携帯電話です。幅 320px のページを作成して iPhone で表示すると、実際には全幅であることがわかります。これは、ページがデフォルトで 2 倍 (640 ピクセル) に拡大され、iPhone 4 または 4s の幅がちょうど 640 ピクセルであるためです。
DevicePixelRadio
DevicePixelRadio、定義: window.devicePixelRatio は、デバイス上の物理ピクセル (つまり、デバイス幅) とデバイスに依存しないピクセル (デバイス独立終了ピクセル、またはディップ) の比率です。式は次のように表されます: window.devicePixelRatio = 物理ピクセル/ディップ
Android と iPhone の両方には、画面サイズ全体を占める変換単位があり、Android ではディップまたは dp と呼ばれ、iPhone ではポイントと呼ばれます。ディップはデバイスに依存しないピクセル、デバイスに依存しないピクセルです。デバイスの物理ピクセルのディップに対する比率は devicePixelRatio です。この値は window.devicePixelRatioプロパティを通じて取得できます。
私が見つけたいくつかの情報によると、ここでの独立したピクセルの値は実際にはデバイス幅の値です。この値は、携帯電話でのレイアウトに通常使用される幅です。もちろん、 タグが設定されていることが前提です。 ここで devicePixelRatio の概念について言及しているのはなぜですか? なぜなら、devicePixelRatio=1.5 の場合、つまり、画面解像度の幅とデバイスの幅の比率が 1.5 の場合、一部の携帯電話 (特に最も多く表示される Samsung 製携帯電話) に付属のブラウザーには 1px の線が表示されるからです。これは 2px バグとして解析されますが、テストの結果、同じ携帯電話にインストールされている UC ブラウザには通常、このバグはありません。このバグについては、より詳しい説明が記載されている記事がインターネット上にあります: [関連する推奨事項] 1. 無料の CSS オンライン ビデオ チュートリアル CSS オンライン マニュアル3. cn Dugu Jiijian (2)-CSS ビデオチュートリアル
以上がビューポートとデバイス幅とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee&#039;の疑いを補強します。

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

まあ、SVG&#039;の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

ほとんどの場合、人々はTailwind&#039;の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio

馬鹿のように展開することは、展開に使用するツールと複雑さの報酬と複雑さの減少との間の不一致になります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
