私の質問は基本的にこれと同じですが、「行の高さ」を「文字間隔」に置き換えます。相対的な行の高さが継承される場合、要素のフォントサイズとは関係ありません。なんで?そして、どうすればそれを相対的にすることができますか?
私のユースケースは次のようなものです:
body {
font-size: 18px;
letter-spacing: 1.2em; /* I would like letter-spacing to be relative to the font-size across the document, at least until I override it */
}
.small {
font-size: 14px;
/* letter-spacing is 1.2em of 18px instead of 14px */
}
機能しない理由は、指定された値ではなく計算された値が継承されるためであることを知っているのでletter-spacing
、変更するたびに を再指定する必要がありfont-size
ます。しかし、単位のない値がどのように機能するかに似たものがあることを願っていますline-height
。
確かに私はこれを行うことができます:
* {
letter-spacing: 1.2em;
}
しかし、次のように、いくつかの要素でカスケードを停止することはできませんline-height
。
body {
font-size: 18px;
line-height: 1.5;
}
.normal-line-height {
line-height: normal;
/* all the descendants of this element will have a normal line-height */
}
つまり、確かに、私はいつでもこれを行うことができました...
.normal-letter-spacing, .normal-letter-spacing * {
letter-spacing: normal;
}
しかし、それはまだ私が望むほどエレガントではありません. この問題に対するエレガントな解決策はないと思いますが、何か不足している場合に備えて質問しています。