CSS における px、em、rem、%、vw、vh 単位の違いの詳細な説明

CSS における px、em、rem、%、vw、vh 単位の違いの詳細な説明

1.ピクセル

px はピクセルの略語で、画面解像度に対する相対的な長さの単位です。

2. えむ

参照は親要素のフォント サイズであり、継承の特性を持ちます。ブラウザのデフォルトのフォント サイズは 16 ピクセルであり、1em はページ全体で固定値ではありません。

フォントサイズも 1.5​​em ですが、効果はまったく異なります。W3C が提供する式によると、次のように計算できます。クラス id1 の div のフォントサイズは、親要素本体から継承されます: 16px*1.5em = 24px クラス id2 の div のフォントサイズは、親要素 id1 から継承されます: 24px*1.5em = 36px クラス id3 の div のフォントサイズは、親要素 id2 から継承されます: 36px*1.5em = 54px

3. レム

rem は CSS3 で追加された相対単位ですが、HTML ルート要素に対してのみ相対的です。ルート要素のみを変更すると、レイヤーごとにフォント サイズが複合される連鎖反応を回避しながら、すべてのフォント サイズを比例的に調整できます。

4.%

% パーセンテージ、相対的な長さの単位、親要素に対するパーセンテージ値

要素の幅と高さとフォントサイズの違い:

(1)相対的な大きさの単位を使うようにする

相対的なサイズ単位を使用して測定する場合、ページのレイアウトを調整するときに、すべての内部 DOM 構造を走査して内部の子要素のサイズをリセットする必要はありません。親コンテナやページ全体のレイアウトによってサイズが変わる場合は、要素の高さや幅を設定するなど、 % を使用する方が適切です。

(2)フォントサイズにはemとremを使うようにする

フォントサイズの保守性や拡張性を考えると、em の使用をお勧めします。相対的なフォントサイズ設定が 3 層以上ある場合は、rem の使用を検討してください。

5. vw と vh

vm、vh、vmin、vmax はビューポート単位と相対単位です。ページの親ノードまたはルートノードに対して相対的ではありません。代わりに、ビューポートのサイズによって決定され、単位は 1 で、これは 1% などを表します。 ビューポートとは、実際にコンテンツを表示するブラウザの領域、つまりツールバーやボタンを除いた Web ブラウザのことです。

具体的な説明は以下のとおりです。

vw: ビューポートの幅のパーセンテージ(1vwはビューポートの幅が1%であることを意味します)
vh: ビューポートの高さのパーセンテージ
vmin: 現在のVwとVhの小さい方の値を取る
vmax: 現在のVwとVhの大きい方の値を取る

vh と vw はビューポートの高さと幅を基準とします。1vh はビューポートの高さの 1/100 に等しく、1vw はビューポートの幅の 1/100 に等しくなります。たとえば、ブラウザの高さが 900px、幅が 750px の場合、1 vh = 900px/100 = 9 px、1vw = 750px/100 = 7.5 px となります。画面と同じ高さのボックスを簡単に実現できます。

calc + vmは幅を計算します

幅: 800ピクセル; 
幅: -moz-calc(100vm - (2 * 10)px);
幅: -webkit-calc(100vm -(2 * 10)px);
幅: calc(100vm - (2 * 10)px);

要約する

CSS における px、em、rem、%、vw、vh 単位の違いについて詳しく解説した記事は以上です。px、em、rem、%、vw、vh 単位の違いについてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTML 画像 img にハイパーリンクを追加した後の醜い青い境界線の問題を解決する

>>:  MySQLでSQLクエリ文がどのように実行されるかを分析する

推薦する

VSCode と SSH を使用したリモート開発

0. リモート開発が必要な理由組み込み Linux を開発する場合、便宜上、通常は Windows ...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

MySQL 8.0.22 のダウンロード、インストール、設定方法のグラフィックチュートリアル

参考までにMySQL 8.0.22をダウンロードしてインストールしてください。具体的な内容は次のとお...

MySQL 8.0.15 のインストールと設定のグラフィックチュートリアルと Linux でのパスワード変更

このブログは、MySQL8.0.15 を正常にインストールしたことを思い出すために書きました。以前は...

MySQLリモート接続権限の詳細な説明

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

複数のフィールドを変更するためのMysql更新の構文の詳細な分析

MySQL でレコードを更新すると、構文は正しいのですが、レコードが更新されません...質問文実行前...

fastdfs+nginxクラスタ構築の実装

1. fastdfs の紹介1. fastdfsとは何かFastdfs は軽量のオープンソース分散フ...

Vue の関連ページへのマルチレベルジャンプ (ページドリルダウン) 機能の完全な例

背景プロジェクト開発プロセスでは、前のページから次のページにジャンプする必要に迫られることがよくあり...

ドキュメントの場所の比較

<br />2 年前に PPK が投稿した素晴らしいブログ記事では、contains()...

tbodyタグの魔法はテーブルコンテンツの表示を高速化します

他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりですここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の t...

CSSを使用して円形の波効果を実現する

モバイル デバイスでは、金額を表示するために円形の波グラフィックがよく使用されます。最初は、この効果...

MySQL データベース アーキテクチャの詳細

目次1. MySQL アーキテクチャ2. ネットワーク接続層3. データベースサービス層4. 接続プ...

1つの記事でJavaScriptのクロージャ関数について学ぶ

目次変数のスコープ閉鎖の概念クロージャの使用クロージャのデメリット最後に、クロージャのメリットとデメ...