CSS でよく使用されるフォントサイズ、フォント単位、行の高さの詳細な説明

CSS でよく使用されるフォントサイズ、フォント単位、行の高さの詳細な説明

px(ピクセル)

ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとした豆知識をご紹介します。

ピクセルは、画像と要素という単語で構成されています。ピクセルは絶対的な自然長の単位ではありません。たとえば、同じ 1 ピクセルのサイズの「自然長」は、デバイスによって異なります。画像を拡大すると、画像が小さな正方形で構成されていることがわかります。各小さな正方形は 1 ピクセルです。ズームが大きくなるほど、1 ピクセルの自然長が長くなります。したがって、同じ自然長の画像に含まれるピクセルが多いほど、画像は鮮明になります。

それら

現在のオブジェクト内のテキストのフォント サイズに対する相対値です。1em=100% というパーセンテージ単位としても理解できます。では、CSS スタイルで em がどのような効果をもたらすかを見てみましょう。

現在の子要素にフォント サイズが設定されていない場合 (ブラウザーのデフォルトのフォント サイズは 16 ピクセル)、子要素がフォント サイズを設定します。 font-size:1em;の場合、子要素のフォント サイズは親要素の 100% x 16 ピクセル = 16 ピクセルになります。 font-size:1.5em;の場合、子要素のフォント サイズは 24 ピクセルになります。

p{
    フォントサイズ:1.5em;
}
div{
    フォントサイズ:1.5em;
}
<div>
    <p>
        フォントサイズ</p>
</div>

ここでの「フォントサイズ」は1.5 x 1.5 x 16 = 36pxです

親要素のフォント サイズは子要素に継承されますが、継承される値は em 値ではなく px 値です。どのように理解すればよいでしょうか?

body{2em}

<本文>
    <div>
        <p></p>
    </div>
</本文>

そして、bodyのサブ要素divとpは両方とも32pxです(重なりません)

レム

こちらもemと同様にフォントサイズに対するパーセンテージですが、参照対象が異なります。remの参照対象は親要素ではないため、親要素がどのように変化しても、現在remに設定されている要素のフォントサイズは反応しません。

rem はルート要素 (つまり html) を基準とします。html ドキュメントを作成する場合、head と body の両方が <html></html> タグで囲まれます。

CSSスタイルではHTMLのフォントサイズを変更することもできます

html{
    フォントサイズ:10px;
}
div{
    フォントサイズ:2rem;
}

この時点で、div のフォント サイズは 20 px です。

CSS スタイルで行の高さに数字を直接書き込む

これはfont-sizeとしては間違っているため、応答しません。

ただし、上記の単位設定以外にも、 line-height単位を設定せずに直接記述することもできます。

line-height では、em も現在のフォント サイズに対する比率であり、px の固定値を継承します。子要素は em の値を継承しません。

ただし、 line-height:2;は継承できます。子要素がこれを継承すると、line-height の値は現在のフォント サイズの 2 倍になります。

要約する

CSS でよく使われるフォント サイズの単位と行の高さに関するこの記事はこれで終わりです。CSS のフォント サイズと行の高さに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  CentOS 上の Docker に Jupyter をインストールしてポートを開く方法

>>:  html5 の新しいメソッドを使用して JavaScript で要素クラス名を操作する方法の詳細な説明

推薦する

base target="" はリンクのターゲットオープンフレームを制御します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...

Google 翻訳ツール: 多言語ウェブサイトを素早く実装

Google Chinaは、ウェブサイトやブログを素早く簡単に多言語化できる翻訳ツールをリリースした...

Reactイベントメカニズムソースコード分析

目次原理ソースコード分析委任されたイベントバインディングすべてのサポートされているイベントを聴くネイ...

Vue3 における provide と inject の使用法と原則

序文:親コンポーネントと子コンポーネント間でデータを渡す場合、通常は props と emittin...

バッチモードでtopコマンドを実行する方法

top コマンドは、Linux システムのパフォーマンスを監視するために誰もが使用している最適なコマ...

Docker 経由で Redis 6.x クラスターをデプロイする方法

システム環境: Redis バージョン: 6.0.8 Docker バージョン: 19.03.12シ...

JavaScript 関数のカリー化

目次1 関数カリー化とは何ですか? 2 カレーの役割と特徴2.1 パラメータの再利用2.2 早期復帰...

Dockerfile における ENV 命令の具体的な使用法の詳細な説明

1. Dockerfile 内の ENV 命令は、イメージの環境変数を定義するために使用されます。次...

HTML シンボルからエンティティへのアルゴリズムのチャレンジ

チャレンジ:文字列内の文字 &、<、>、" (二重引用符)、および &...

Vueシャトルボックスは上下の動きを実現します

この記事の例では、vueシャトルボックスを上下に動かすための具体的なコードを参考までに共有しています...

Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があ...

入力テキストボックスの長さをコンテンツに応じて変更する方法

初め:コードをコピーコードは次のとおりです。 <input type="text&q...

ユーザー中心設計

最近、デジタル デザイン コミュニティで「誰が何を担当するのか」という明らかな混乱についてよく質問さ...

MySQL FAQ シリーズ: 一時テーブルを使用する場合

一時テーブルの概要一時テーブルとは: MySQL は中間結果セットを保存するために使用されます。一時...

Vue シングルファイルコンポーネントの実装

最近、vue について読みました。これまで基本的に見落としていた単一ファイル コンポーネントを見つけ...