検索

この記事では主に CSS3 の新しい単位 vw と vh の使用方法のチュートリアルを紹介します。この記事ではサンプルコードを使用して、vw、vh、vmin、vmax の意味と、vw、vh、% の割合の違いを紹介します。興味のある方はぜひご覧ください。見てください

レスポンシブなレイアウト ユニットの場合、最初に rem ユニットを使用して適応を実装することを考えますが、要素のサイズを動的に計算するスクリプトを埋め込む必要もあります。

例:

(function (doc, win) {
  let docEl = doc.documentElement
  let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
  let recalc = function () {
    var clientWidth = docEl.clientWidth
    if (!clientWidth) return
    docEl.style.fontSize = 14 * (clientWidth / 320) + 'px'
  }
  if (!doc.addEventListener) return
  win.addEventListener(resizeEvt, recalc, false)
  doc.addEventListener('DOMContentLoaded', recalc, false)
})(document, window)

JS と CSS を組み合わせる必要のないユニットはありますか?答えは「はい」です、それは vw/vh です。

vw = view width
vh = view height

これら 2 つのユニットは CSS3 で導入され、上記ではビューポート ユニットと呼ばれており、ブラウザ ウィンドウに近いサイズを定義できるようになります。

vw、vh、vmin、vmaxの意味

(1) vw、vh、vmin、vmaxはウィンドウ単位であり、相対単位です。これは、ページの親ノードまたはルート ノードに対して相対的なものではありません。ビューポートのサイズによって決まります。単位は 1、つまり 1% 程度を意味します。

ビューポートは、ブラウザーが実際にコンテンツを表示する領域です。つまり、ツールバーやボタンのない Web ブラウザーです。

(2) 具体的な記述は以下の通りです:

  • vw: ウィンドウの幅のパーセンテージ (1vw はウィンドウの幅の 1% を表します)

  • vh: ウィンドウの高さのパーセンテージ

  • vmin: 現在のvwとvhの小さい方の値

  • vmax: 現在のvwとvhの大きい方の値

vw、vhと%パーセントの差

(1) %は親要素に対する相対的なサイズ設定 vw と vh の比率はウィンドウのサイズによって決まります。

(2) vw と vh の利点は高さを直接取得できることですが、% を使用すると、体の高さを設定しないと表示領域の高さを正確に取得できないため、これは良い利点です。

vminとvmaxの使い方

モバイルページを開発する際、vwとwhを使ってフォントサイズ(5vwなど)を設定すると、縦モードと横モードで表示されるフォントサイズが異なります。

vmin と vmax は、現在の小さい方の vw と vh と、現在の大きい方の vw と vh であるため。ここでは vmin と vmax を使用できます。横画面でも縦画面でも文字サイズを一定にします。

ブラウザの互換性

(1) デスクトップ PC

  • Chrome: バージョン 26 (2013 年 2 月) 以降完全にサポート

  • Firefox: バージョン 19 (2013 年 1 月) 以降完全にサポート

  • サファリ: バージョン 6.1 (2013 年 10 月) から完全にサポートされています

  • Opera: バージョン 15 (2013 年 7 月) から完全にサポートされています

IE: IE10 (Edge を含む) 以降、部分的にのみサポートされています (vmax はサポートされていません) 、vm は vmin を置き換えます)

(2) モバイルデバイス

Android: バージョン 4.4 (2013 年 12 月) 以降完全にサポート

iOS: iOS8 バージョン (2014 年 9 月) 以降完全にサポート

ビューポートを使用してページを適応させる方法単位

CSS 単位として vw のみを使用します

1. デザインドラフトのサイズに応じて vw 単位に変換します (SASS 関数のコンパイル)

//iPhone 6尺寸作为设计稿基准
$vm_base: 375;
@function vm($px) {
    @return ($px / 375) * 100vw;
}

2. テキストまたはレイアウトの高さ、幅、に vw を使用します。間隔など

            
                
                    
                
                    
                    导航入口
                
            

.mod_nav {
    background: #fff;
    &_list {
        display: flex;
        padding: vm(15) vm(10) vm(10);
        &_item {
            flex: 1;
            text-align: center;
            font-size: vm(10);
            &_logo {
                display: block;
                margin: 0 auto;
                width: vm(40);
                height: vm(40);
                img {
                    display: block;
                    margin: 0 auto;
                    max-width: 100%;
                }
            }
            &_name {
                margin-top: vm(2);
            }
        }
    }
}

これを行うための最良の方法は、vw と rem を組み合わせることです

vm を CSS ユニットコードとして使用すると、コードの量が大幅に削減されますが、次を使用して実装されていることがわかります。ビューポート単位、ビューポート サイズに応じて自動的に拡大縮小し、最大幅と最小幅の制限がなくなりました。

ということは、レムユニットを組み合わせてレイアウトを実現すれば良いのでは? rem フレキシブル レイアウトの核心は、ルート要素のサイズを動的に変更することです。次に、ビューポートの変更に応じて変更されるルート要素のサイズの vw 単位を設定し、そのサイズを動的に変更できるようにします。かわった。

ルート要素のフォントサイズの最大値と最小値を制限し、本文に最大幅と最小幅を加えたものと連携します

このようにして、レイアウト幅の最大値と最小値の制限を実現できます。したがって、上記の条件に基づいて、コードの実装は次のように結論付けることができます:

// rem 单位换算:定为 75px 只是方便运算,750px-75px、640-64px、1080px-108px,如此类推
$vm_fontsize: 75; // iPhone 6尺寸的根元素大小基准值
@function rem($px) {
     @return ($px / $vm_fontsize ) * 1rem;
}
// 根元素大小使用 vw 单位
$vm_design: 750;
html {
    font-size: ($vm_fontsize / ($vm_design / 2)) * 100vw;
    // 同时,通过Media Queries 限制根元素最大最小值
    @media screen and (max-width: 320px) {
        font-size: 64px;
    }
    @media screen and (min-width: 540px) {
        font-size: 108px;
    }
}
// body 也增加最大最小宽度限制,避免默认100%宽度的 block 元素跟随 body 而过大过小
body {
    max-width: 540px;
    min-width: 320px;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于CSS代码如何书写规范

以上がcss3ユニットvwとvhの使用についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
CSSグリッドとは何ですか?CSSグリッドとは何ですか?Apr 30, 2025 pm 03:21 PM

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

CSS Flexboxとは何ですか?CSS Flexboxとは何ですか?Apr 30, 2025 pm 03:20 PM

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

CSSを使用してWebサイトを応答するにはどうすればよいですか?CSSを使用してWebサイトを応答するにはどうすればよいですか?Apr 30, 2025 pm 03:19 PM

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

CSSボックスサイズのプロパティは何をしますか?CSSボックスサイズのプロパティは何をしますか?Apr 30, 2025 pm 03:18 PM

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

CSSを使用してアニメーション化するにはどうすればよいですか?CSSを使用してアニメーション化するにはどうすればよいですか?Apr 30, 2025 pm 03:17 PM

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

CSSを使用してプロジェクトに3D変換を追加できますか?CSSを使用してプロジェクトに3D変換を追加できますか?Apr 30, 2025 pm 03:16 PM

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

CSSに勾配を追加するにはどうすればよいですか?CSSに勾配を追加するにはどうすればよいですか?Apr 30, 2025 pm 03:15 PM

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

CSSの擬似要素とは何ですか?CSSの擬似要素とは何ですか?Apr 30, 2025 pm 03:14 PM

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA

DVWA

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