ホームページ ウェブフロントエンド CSSチュートリアル css3のdevice-widthとwidthの違いについての簡単な説明

css3のdevice-widthとwidthの違いについての簡単な説明

Feb 08, 2021 am 10:35 AM
css3 width

この記事では、CSS メディア クエリのデバイス幅と幅の違いについて説明します。一定の参考値があるので、困っている友達が参考になれば幸いです。

css3のdevice-widthとwidthの違いについての簡単な説明

#[推奨チュートリアル:

CSS ビデオ チュートリアル]

1.device-width

定義: 出力デバイスの画面の表示幅を定義します。

Web ページが Safari で開かれているか、Web ビューに埋め込まれているかに関係なく、device-width はデバイスにのみ関係し、同じデバイスの場合、その値は変わりません。

たとえば、iphone6 の device-width*device-height は 375*667 ですが、これは dpr などとは関係ありません。

2.width

定義: 出力デバイスのページの表示領域の幅を定義します。

出力は、Web ページの表示領域の幅と高さです。Web ページが Web ビューにネストされたモバイル Web ページであると仮定すると、幅は実際には Web ビューの幅と高さになります。ブラウザが異なると、幅と高さも異なる場合があります。ページが rem レイアウトを使用しており、Retina 画面の場合は、メタ タグで dpr>1、content="width=device-width、initial-scale=0.5" が設定されます。 . minimum-scale=0.5, minimum-scale=0.5, user-scalable=no,viewport-fit=cover" の場合、iPhone 6 の幅サイズは 750px になります。

ここでは、水平画面の状況を考慮する必要がないため、device-width と device-height をさらに使用します。

たとえば、iphoneX に適応している場合は、すでに iphoneX ( 375) を知っています。 *812) size には次のステートメントを使用できます:

/*iphone x*/
@media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3) {
    .foriphoneX()
}
ログイン後にコピー

別の例は、最新の Samsung 折りたたみ式スクリーンです

@media screen and (device-width: 586px) and (device-height: 820px){
    html{
        font-size: 110px !important;
    }
}
ログイン後にコピー

つまり、 device-width は device 内で変更されず、その値は変わりません。はデバイスの幅に関係します。異なるレイアウトスキームまたは異なるコンテナで表示されると、幅は異なる場合があります。ここでは、device-width は js の window.screen.width に相当し、width は js の document に相当すると思います。 . .body.clientWidth。

Huawei の折り畳み式スクリーンの改造も記録します。現時点では実際の携帯電話がないため、Huawei の展開時の解像度が 2200*2480 であり、DPR などがないことだけがわかります。明らかなので、device-width と device-height がわかりません (クエリに幅は使用できません。理由はビジネス ロジックに関連しています)。そこで、device-aspect-ratio,

を選択しました。最初は私の中でした。lessではこのように書かれています

@media (device-aspect-ratio: 55/62) {
    /*适配*/
}
ログイン後にコピー

CSSのdevice-aspect-ratioは10進数として計算されます

@media (device-aspect-ratio: 0.887097) {
    /*适配*/
}
ログイン後にコピー

device-aspect-ratioは小数をサポートしていません

そこで、less が 55/62 の結果を実行しないようにする方法を調べたところ、次のように属性を引用符で囲み、その前にチルダを追加するだけで十分であることがわかりました。 ##
@media (device-aspect-ratio: ~"55/62") {
    /*适配部分*/
}
ログイン後にコピー

問題は解決しました!

ただし、デバイス アスペクト比は MDN では推奨されなくなりました。この属性は廃止されます。より良い解決策が見つかったら、代替手段を使用します。

プログラミング関連の知識について詳しくは、

プログラミング入門

をご覧ください。 !

以上がcss3のdevice-widthとwidthの違いについての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

htmlの幅とは何を意味するのでしょうか? htmlの幅とは何を意味するのでしょうか? Jun 03, 2021 pm 02:15 PM

HTML5 では、width は幅を意味します。width 属性は要素のコンテンツ領域の幅を定義します。コンテンツ領域の外側に内側のマージン、境界線、および外側のマージンを追加できます。「要素 {width: value}」を設定するだけで済みます。要素。

CSS3でマウスクリックで画像を拡大する方法 CSS3でマウスクリックで画像を拡大する方法 Apr 25, 2022 pm 04:52 PM

実装方法: 1. ":active" セレクターを使用して、画像上のマウス クリックの状態を選択します; 2. 変換属性とscale() 関数を使用して、画像の拡大効果を実現します。構文 "img:active {transform : スケール(x 軸倍率、y 軸倍率);}"。

css3アダプティブレイアウトとは何ですか css3アダプティブレイアウトとは何ですか Jun 02, 2022 pm 12:05 PM

「レスポンシブ レイアウト」とも呼ばれるアダプティブ レイアウトとは、画面の幅を自動的に認識し、それに応じて調整できる Web ページ レイアウトを指します。このような Web ページは、端末ごとに特定のバージョンを作成するのではなく、複数の異なる端末と互換性を持たせることができます。 。アダプティブ レイアウトは、モバイル Web ブラウジングの問題を解決するために生まれ、さまざまな端末を使用するユーザーに優れたユーザー エクスペリエンスを提供できます。

See all articles