次のように、単位を指定せずに行の高さを使用している人を見ました。line-height: 1.5;
数字は何を表していますか?比率だと思いますので、em
どうですか?
次のように、単位を指定せずに行の高さを使用している人を見ました。line-height: 1.5;
数字は何を表していますか?比率だと思いますので、em
どうですか?
はい、比率です。1.5 は、要素のフォント サイズの 1.5 倍を意味します。したがって、1.5em または 150% と同じことを意味しますが、重要な例外が 1 つあります。継承では、純粋な数値が使用される場合、計算された値ではなく数値が継承されます。
したがって、フォント サイズが 24pt の要素がある場合はline-height: 1.5
、行の高さを 36pt に設定します。しかし、要素に子要素 (内部要素) があり、フォント サイズが 10pt で、行の高さが設定されていない場合、子要素はline-height
値 1.5 を継承します。これは、その要素が 15pt であることを意味します。一方、行の高さが1.5em
または150%
に設定されている場合、子は計算された 36pt の値を継承し、グロテスクな行間隔が作成されます。
技術的には、これは言う定式化の下に隠されています。値として使用される純粋な数値のline-height
場合: 「計算された値は、指定された値と同じです。」したがって、名目上、子は「計算された」値 1.5 を継承し、これは子のコンテキストで解釈されます (フォント サイズの 1.5 倍) 。
line-height
@ Mozilla Developer Networkには、 line-height
CSS 仕様に比べて理解しやすい非常に優れた説明 (および例) があります。
line-height
次のいずれかの方法で値を指定できます
line-height: normal | <number> | <length> | <percentage>
あなたの場合、次の<number>
ように記述されているを使用しています。
使用される値は、この単位なし
<number>
に要素のフォント サイズを掛けたものです。計算された値は、指定された と同じ<number>
です。ほとんどの場合、これは、継承の場合に予期しない結果を伴わずに line-height を設定するための推奨される方法です。
それぞれの仕様 @W3Cを参照してください。
プロパティの使用値は、この数値に要素のフォント サイズを掛けたものです。負の値は不正です。計算値は指定値と同じです。
ご想像のとおり、これは比率であり、電流に関連していfont-size
ます。
line-height: X;
基本的にはline-height: (X*100)%;
line-height: 1;
と同じですline-height: 100%;
同様に、
line-height: 1.5;
と同じですline-height: 150%;
ここで、要素に現在設定されているフォントとサイズの行の高さの X% をline-height: X%;
意味します。
たとえば、現在設定されているフォントとサイズによる要素の line-height が である場合、24px
そのline-height: 150%
line-height になり36px
ます。等々..
rem
現在のフォント サイズの代わりにルート em サイズを使用するために使用することもできます。
したがって、これらは両方とも現在の font-size の 2 倍の行の高さです
font-size: 2em;
font-size: 2;
しかし、これは ROOT フォント サイズの 2 倍の行の高さです
font-size: 2rem;