埋め込みフォント( )font-weight
のプロパティとプロパティを使用するのはそれほど簡単ではありません。気にする必要のある項目がいくつかあります。font-style
@font-face
1-@font-face
構文:
すべてのブラウザでフォントを使用するには、構文が非常に重要です。Paul Irishは、多くのリソースを使用して、上記のように「防弾構文」を作成しました。これは、数回改善されました。
@font-face {
font-family: 'FONT-NAME';
src: url('FONT-NAME.eot?') format('eot'), url('FONT-NAME.woff') format('woff'), url('FONT-NAME.ttf') format('truetype');
}
このバージョン(http://www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/、「Fontspring @ font-face構文」を探してください)は最新のものであり、、、から動作しIE6
ます。リンクを見て、なぜそのように書く必要があるのかをよく理解することが重要です。iOS
Android
font-weight
2-およびのようなフォントプロパティfont-style
必要に応じて、宣言にとを適用しfont-weight
て同じフォントのバリエーションを使用することもできますが、これらの特性について具体的かつ正確である必要があります。それを行うにはいくつかの方法があります。font-style
@font-face
2.1-各バリエーションに1つのフォントファミリを使用する
「防弾構文」を使用して、 「通常」、「太字」、「斜体」のバリエーションをロードすると仮定すると、次のようになります。
@font-face {
font-family: 'FONT-NAME-normal';
src: url('FONT-NAME-normal.eot?') format('eot'), url('FONT-NAME-normal.woff') format('woff'), url('FONT-NAME-normal.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FONT-NAME-bold';
src: url('FONT-NAME-bold.eot?') format('eot'), url('FONT-NAME-bold.woff') format('woff'), url('FONT-NAME-bold.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FONT-NAME-italic';
src: url('FONT-NAME-italic.eot?') format('eot'), url('FONT-NAME-italic.woff') format('woff'), url('FONT-NAME-italic.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
したがって、必要なバリエーションを使用するには、font-family
それに対応するを呼び出し、ルールでおよびを宣言する必要がfont-weight: normal
ありfont-style: normal
ます。そうしないと、ブラウザはデフォルトでこのルールを持つ要素に「fauxbold/italic」を適用する場合があります。'faux'スタイリングは、すでにイタリックまたはボールドフォントを使用している場合でも、要素を強制的に表示するように機能します。の問題は、フォントが見た目どおりではないため、フォントが常に見苦しく見えることです。
同じことが、たとえば要素に「通常」フォントを定義し、その中にまたはを配置した場合にも発生します。およびは、フォント上で太字/斜体のプロセスを強制します。これを回避するには、それぞれのプロパティ(および)を次のように設定して、およびのルールに正しい、目的の太字/斜体を適用する必要があります。<p>
<strong>
<em>
<strong>
<em>
font-family
<strong>
<em>
font-weight
font-style
normal
strong {
font-family: 'FONT-NAME-bold';
font-weight: normal;
font-style: normal;
}
em {
font-family: 'FONT-NAME-italic';
font-weight: normal;
font-style: normal;
}
しかし、それには問題があります。フォントがロードされない場合、選択したフォールバックは重み/スタイルを失います。これは私たちを次の道へと導きます。
2.2-同じフォントファミリ名を使用しますが、重みとスタイルが異なります
この方法は、フォントが読み込まれない場合に、いくつかのウェイトとスタイル、およびフォールバックを正しく処理するのがより簡単です。同じ例を使用して:
@font-face {
font-family: 'FONT-NAME';
src: url('FONT-NAME-normal.eot?') format('eot'), url('FONT-NAME-normal.woff') format('woff'), url('FONT-NAME-normal.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FONT-NAME';
src: url('FONT-NAME-bold.eot?') format('eot'), url('FONT-NAME-bold.woff') format('woff'), url('FONT-NAME-bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'FONT-NAME';
src: url('FONT-NAME-italic.eot?') format('eot'), url('FONT-NAME-italic.woff') format('woff'), url('FONT-NAME-italic.ttf') format('truetype');
font-weight: normal;
font-style: italic;
}
この方法では、@font-face
宣言の重みとスタイルが「マーカー」として機能します。ブラウザがCSSの他の場所でこれらの重みとスタイルに遭遇すると、@font-face
アクセスする宣言と使用するフォントのバリエーションを認識します。
体重とスタイルが一致しているかどうかを確認してください。もしそうなら、あなたがあなたが作成したものを使用している親の中で<strong>
またはを使用するとき、それは正しい宣言をロードします。<em>
@font-face
埋め込まれたこれらの様式化の方法のソース(http://coding.smashingmagazine.com/2013/02/14/setting-weights-and-styles-at-font-face-declaration/)に、私が言及した2つ(2.1と2.2)。しかし、 「フェイクボールド/イタリック」を含む多くの問題が発生し<strong>
、右に宣言する必要があります。font-family
また、の場合は<em>
、で異なるclasses
のバリエーションをスタイルします。私が選んだ2つは仕事をするのに十分だと思います。font
weight
出典:
http: //www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/
http://coding.smashingmagazine.com/2013/02/14/setting-weights-and-styles-at- font-face-declaration /
編集1:
多くのフォント拡張機能を使用する必要はありません。この.woff
タイプは、IE8(.eot
フォーマットのみを受け入れる)をサポートする必要がある場合、IEを除くほとんどすべてのブラウザーに対応します。(http://caniuse.com/#feat=fontface)
base64
おそらく役立つ他のヒントは、エンコーディングを使用してCSSにフォントを埋め込むことです。これは多くのリクエストを回避するのに役立ちますが、CSSファイルを上書きすることを覚えておく必要があります。これは、CSSコンテンツとフォントを整理して、最初のCSSルールを1つの小さなファイルですばやく提供し、他のルールを別のCSSファイルで<body>
タグの終わりに配信するように処理できます。