14px未満のテキストTahoma
を大きくし、Sans Serif
CSS3font-face
プロパティのみを使用し、余分なクラスを使用しないようにします。
どのように使用することは可能font-face
ですか?
では不可能ですが、ミックスインとガードを使用したLESSfont-face
では可能です。ご覧のとおり、フォントサイズを少し異なるように定義する必要がありますが、それだけです。フォントファミリーの宣言は、この値に基づいています。
LESS(またはSASS)に移行することを強くお勧めします。LESSはクライアント側で実行されますが、サーバー側でコンパイルしてCSSとして配信する方法があります。参照されているLESSファイルをPHPを使用してCSSに自動的にコンパイルするを参照してください。
.fontSize (@a) when (@a >= 100) {
font-family: Impact, Charcoal, sans-serif;
}
.fontSize (@a) when (@a < 100) {
font-family: "Comic Sans MS", cursive, sans-serif;
}
.fontSize (@a) {
font-size: @a;
}
.cs {
.fontSize(50px)
}
.imp {
.fontSize(110px)
}
<div class="cs">comic sans font family</div>
<div class="imp">Impact font family</div>
font-faceではできません。しかし、あなたは次のように異なるサイズの2つの異なるクラスを持つことができます
.tohama{}
.sanserif{}
いいえ、できません。一般に、CSSなどの個別のプロパティ間には関係がありませfont-family
んfont-size
。(font
いくつかのプロパティを設定するのが好きですが、それ以外の場合は変更されません。)CSSには意図的にプログラミング機能がありません。プロパティの値を、別のプロパティに値として設定されているものに依存させることはできません。これにはいくつかの例外があります。それらの中で、font-size-adjust
関連しているように見えるかもしれませんが、逆に、間接的に機能します。フォントの機能に応じてフォントサイズを調整します。
したがって、CSSソリューションはありません。JavaScriptでは、要素のスタイル設定を調査し、計算されたフォントサイズがしきい値よりも大きいか小さい場合は、フォントファミリを変更できます。しかし、それはやや汚れており、おそらくそのためにドキュメントツリー全体をトラバースする必要があります。