font-weightが効かない場合の原因と対処法を解説!
CSSのfont-weightは文字の太さを調整できるプロパティです。boldとすると太字になります。このfont-weightを設定しているのに効かない場合の原因と対処法をサンプルコード付きで解説します。
font-weightが効かない問題
CSSのfont-weightは文字の太さを設定するプロパティで、初期値はnormal
で値は100〜900(数字が大きいほど太い)やnormal
、bold
などキーワードで設定することが出来ます。
例えば下記の例ではfont-weight
が100〜900までで文字の太さ毎に設定を変えた例になります。
しかし、ときにfont-weight
を設定しているはずなのに、文字の太さが変わらないという場合があります。
そこで今回はfont-weight
が効かない場合の原因と対処法を解説していきます。
font-weightが効かない場合の原因と対処法
font-weight
が効かない原因はいくつか考えられますので、順番に解説していきます。
原因① CSSの優先順位の問題でfont-weightが効いていない
CSSのスタイルの優先順位でfont-weight
が効かないという場合です。
font-weight
を太字や細字で設定している箇所とは別で、font-weight
を設定しているところがあり、そちらが優先されているため片方の指定が無効になっているケースです。
この場合まず切り分けとしてChromeのデベロッパーツールで該当の要素にフォーカスをあてスタイルの上書きが発生していないか確認しましょう。
上記に該当する場合は、スタイルの優先度の見直しをして問題を解決しましょう。CSSのスタイルの優先順位を変更する方法については下記を参考にして下さい。
また優先順位を考えず、手っ取り早くfont-weight
を適用したいという方は!important
を値に付加して強制的に適用させる方法もあります。
!important
を使う方法については下記を参考にしましょう。
原因② フォント自体が太字に対応していない
次にテキストに設定しているフォント自体で太字に対応していない場合です。その場合はfont-weight: bold
を設定しても設定上は太字になりますが、フォント側で太字に対応したフォントがなく表示が太字となりません。
この場合ですが、少し裏技となりますが、text-shadow
を付けて強制的に太字に見せる方法があります。
上記の例ではfont-weight: bold
など太字の指定をfont-weight
で行わず、text-shadow
を使って太字に見せています。
このやり方であればフォントが太字に対応していない場合でも太字に見せる事が出来ます。