どちらの方法でも正しい出力が得られますが、より正確な方法は、単一のフォントファミリを使用して、重みとスタイルのすべての異なるバリアントをグループ化することです。これは、システムフォント(「Arial」から「sans-serif」まで)を使用するのと同じ方法で、実際、Googleフォントを使用してRalewayをロードする場合は、単一のフォントファミリールートを使用します。
これが正しい方法であるいくつかの理由を概説しましょう。
CSSの複雑さ、最終的にはファイルサイズを削減
単一のfont-familyがあることは、フォントファミリーを含む要素全体を定義でき、異なるウェイト/スタイルの特定のエレメントのみを定義できることを意味します。たとえば、次のようにします。
html {
font-family: Raleway;
}
.bold {
font-weight: 700;
}
.italic {
font-style: italic;
}
.footer {
font-family: Arial;
}
<p>I'm raleway font, <span class="bold">and I'm raleway bold</span></p>
<div class="bold italic">I'm Raleway Bold Italic!</div>
<div class= footer>I'm <span class="bold">Arial Bold,</span> w/ the same class!</div>
このCSSがいかに素晴らしく、簡潔であるかに注目してください。.boldのfont-familyとして「RalewayBold」を指定する必要も、.italicの「RalewayItalic」を指定する必要もありませんでした。実際、クラスは単純に機能するため、太字および斜体のバリアントを指定する必要すらありません。さらに、.boldが.footer内にある場合、フッターコンテナーからArialを継承するだけなので、Ralewayではなく、Arialは太字になります。
これは、ブラウザが行う方法です。
上記は基本的に、最小限のスタイルとCSSの固有のカスケード特性を使用して、ブラウザーの内部スタイルシートがフォントを定義する方法です。
これは業界が行っている方法であり、実際に行っています。
最大のWebプロパティ、アプリケーション、およびパブリッシャーはすべて、この方法でそれを行います。Google、Facebook、NYT、ESPNなどはすべて、この方法でフォントを定義して使用します。
それだけでなく、CSSの前のユーザーインターフェイスやインターネットでさえ、単一のフォントファミリを指定し、太さとスタイルのさまざまな仕様に基づいてバリアントを選択します。Microsoft Word、KeyNote、Google Docs、さらには1990年代後半のWordPerfectをロードして、フォントドロップダウンを開きます。フォントファミリ名「Arial」が一覧表示されます。「Arial」、「Arial Bold」、「Arial Italic」などではありません。
Google Fontsからロードするだけです。
Google Fontsの無料のWebフォントリポジトリからRalewayをロードすると、Ralewayが単一のファミリ名で定義されていることがわかります。
https://fonts.googleapis.com/css?family=Raleway:400,400italic,500,500italic,700,700italic
@font-face {
font-family: 'Raleway';
font-style: normal;
font-weight: 400;
src: url(https://...Raleway-Regular.woff2) format('woff2');
}
@font-face {
font-family: 'Raleway';
font-style: normal;
font-weight: 700;
src: url(https://...Raleway-Bold.woff2) format('woff2');
}
@font-face {
font-family: 'Raleway';
font-style: italic;
font-weight: 500;
src: url(https://...Raleway-MediumItalic.woff2) format('woff2');
}
@font-face {
font-family: 'italic';
font-style: normal;
font-weight: 700;
src: url(https://...Raleway-BoldItalic.woff2) format('woff2');
}