Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【CSS Modules】font-weightアットルール記述子の使い方

font-weightアットルール記述子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

font-weightプロパティは、CSSの@font-faceアットルール内で使用され、Webページで使用するカスタムフォントの重さ(太さ)を定義するための記述子を保持するプロパティです。この記述子を用いることで、提供するフォントファイルがどのようなウェイトに対応しているかをブラウザに正確に伝えることができます。具体的には、フォントの太さを表すキーワード(例えばnormalbold)や、100から900までの数値(100刻み)で指定します。数値が小さいほど細く、大きいほど太いフォントを意味します。

さらに、font-weightプロパティは、単一のウェイトだけでなく、300 500のように数値でウェイトの範囲を指定することも可能です。これは、特に複数の太さを持つ一つのフォントファイル、いわゆる可変フォント(Variable Fonts)を使用する際に非常に重要です。範囲指定を行うことで、そのフォントが指定された範囲内の任意の太さに対応できることを示し、より柔軟なタイポグラフィ表現を可能にします。

ブラウザは、この@font-faceルールで定義されたfont-weightの情報をもとに、スタイルシートで実際に指定されたfont-weightの値に最も適したフォントファイルを選択して適用します。これにより、開発者はWebサイトのデザインに合わせて、カスタムフォントの太さをきめ細かく制御し、視覚的に魅力的なWebページを作成することができます。このプロパティは、ユーザーが望むフォントの表現を正確に実現するために不可欠な要素です。

公式リファレンス: font-weight

構文(syntax)

1@font-face {
2  font-family: "MyFont";
3  src: url("myfont.woff2") format("woff2");
4  font-weight: 400;
5}

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

サンプルコード

CSSでテキストを太字にする方法

1/*
2 * テキストの太さを太字に設定するCSSクラスの例です。
3 * このクラスをHTML要素に適用することで、その要素内のテキストが太字で表示されます。
4 */
5.bold-text {
6  font-weight: bold; /* テキストの太さを「太字」に設定します */
7}

CSSのfont-weightは、HTML要素内のテキストの太さを設定するためのプロパティです。このプロパティを使用することで、文字を太字にしたり、通常の太さに戻したり、さらに細かく数値で太さを調整したりすることが可能になります。

font-weightは、直接的な引数を取るものではありませんが、boldnormalといったキーワード、または100から900までの数値(通常は100単位)をとして指定することで、テキストの太さを制御します。例えば、boldを指定するとテキストは太字になり、normalを指定すると通常の太さに戻ります。プロパティに値を設定することで要素の見た目が直接変化するため、戻り値という概念もありません。

提示されたサンプルコードでは、.bold-textというCSSクラスを定義しています。このクラスに対してfont-weight: bold;と指定することで、「このクラスが適用されたHTML要素内のテキストを太字にする」というスタイルを設定しています。 例えば、HTMLで<p class="bold-text">このテキストは太字になります。</p>のように記述すると、その段落内のテキストが太字で表示されるようになります。

このようにfont-weightプロパティは、ウェブページの視覚的なアクセントや情報の強調に不可欠な機能を提供します。システムエンジニアを目指す上で、ユーザーインターフェースの見た目をコントロールするために、このような基本的なCSSプロパティの理解は非常に重要です。

font-weight: bold;は、要素内のテキストを標準的な太字にするCSSプロパティです。初心者の方が注意すべき点は、bold以外にもnormallighterbolderといったキーワードや、100から900までの数値で太さを指定できることです。特に数値指定は、より細かく太さを制御したい場合に役立ちます。ただし、使用するフォントによっては、指定した太さのバリエーションが提供されていない場合があります。その際、ブラウザが近い太さをシミュレートするか、意図した太さにならないことがありますので、実際に表示を確認することが重要です。また、font-weightプロパティは親要素から子要素へスタイルが継承されます。そのため、予期せぬ場所でテキストが太字になる可能性があり、意図しない場合は明示的にfont-weight: normal;などでリセットする必要があるでしょう。

CSS font-weight 効かない原因と解決策

1/*
2 * CSS Modulesにおけるfont-weightの適用と「効かない」場合の確認ポイント
3 *
4 * font-weightが効かない主な原因は、使用しているフォントがその太さ(ウェイト)をサポートしていないことです。
5 * 特にWebフォントを使用する場合、読み込み設定で目的の太さ(例: 700)が指定されていないと、
6 * ブラウザは利用可能な最も近い太さで表示します。
7 *
8 * 解決策:
9 * 1. 使用しているフォントが目的のfont-weightをサポートしているか確認する。
10 * 2. Webフォントの場合、@font-faceルールやフォントプロバイダの設定で、
11 *    必要な太さのフォントファイルが正しくロードされているか確認する。
12 * 3. 複数のフォントファミリーを指定し、フォールバック(代替フォント)を設定することを検討する。
13 */
14
15/* 一般的な太さの指定例 */
16.primaryBoldText {
17  /*
18   * 'bold' はキーワードによる太さ指定で、通常 '700' に相当します。
19   * ほとんどのフォントでサポートされていますが、フォントの種類によっては差が出ることがあります。
20   */
21  font-weight: bold;
22  font-family: 'Arial', sans-serif; /* 一般的なシステムフォントを指定して検証しやすくする */
23}
24
25/* 数値による太さの指定例 */
26.customWeightText {
27  /*
28   * 数値(100から900まで100刻み)で太さを指定します。
29   * 例えば '700' は 'bold' に相当しますが、特定のフォントは '700' を持たず、
30   * '600' や '800' で代替されることがあります。
31   * この場合、フォントのロード状況を確認することが重要です。
32   */
33  font-weight: 700;
34  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif; /* Webフォントを想定したフォントスタック */
35}
36
37/*
38 * これらのクラスは、例えばReactコンポーネントで以下のように使用できます:
39 * import styles from './MyComponent.module.css';
40 * <p className={styles.primaryBoldText}>このテキストは太字になります。</p>
41 * <p className={styles.customWeightText}>このテキストも指定の太さで表示されます。(フォントがサポートしていれば)</p>
42 */

CSSのfont-weightは、テキストの太さ(ウェイト)を指定するためのプロパティです。このプロパティには引数や戻り値の概念はなく、要素のテキストに対して直接、太さの値を設定することで見た目を制御します。太さの指定方法には、normalboldといったキーワードを使用する方法と、100から900までの100刻みの数値を使用する方法があります。一般的にboldは数値の700に相当します。

font-weightが指定通りに「効かない」と感じる主な原因は、使用しているフォントがその太さをサポートしていないことです。特にWebフォントを使用する場合、@font-faceルールやフォントプロバイダの設定において、必要な太さ(例えば700)のフォントファイルが正しく読み込まれていないと、ブラウザは指定された太さではなく、利用可能な最も近い太さで代替表示を行います。

サンプルコードでは、.primaryBoldTextクラスでキーワードのboldを、.customWeightTextクラスで数値の700を指定し、具体的な太さの設定方法を示しています。また、font-familyで複数のフォント名を指定する「フォントスタック」を設定することで、特定のフォントが利用できない場合や、指定の太さをサポートしない場合に、代替フォントで表示されるようにする工夫も紹介されています。CSS Modulesなどの環境でスタイルを適用する際も、font-weightが期待通りに適用されない場合は、まず使用しているフォントの種類とその太さのサポート状況、そしてWebフォントの場合は読み込み設定を改めて確認することが、問題解決の重要なポイントとなります。

CSSのfont-weightが期待通りに適用されない主な原因は、使用しているフォントが指定された太さをサポートしていないことです。特にWebフォントを利用する際は、@font-faceルールやフォントプロバイダの設定で、目的の太さのフォントファイルが正しく読み込まれているか必ず確認してください。フォントが特定の太さを持っていない場合、ブラウザは利用可能な最も近い太さで代替表示します。キーワード(例: bold)や数値(例: 700)で太さを指定しても、フォントの種類によって表示される太さが異なるため、常に実際の表示を確認することが重要です。また、複数のフォントファミリーをフォールバックとして指定し、代替フォントでの安定した表示を考慮しておきましょう。

関連コンテンツ

関連プログラミング言語