私は現在、Webフォント@fontfaceを使用したい小さなプロジェクトに取り組んでいます。
私はこのようなフォントを実装しました:
@font-face {
font-family: 'CardoRegular';
src: url('../fonts/Cardo104s-webfont.eot');
src: url('../fonts/Cardo104s-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/Cardo104s-webfont.woff') format('woff'),
url('../fonts/Cardo104s-webfont.ttf') format('truetype'),
url('../fonts/Cardo104s-webfont.svg#CardoRegular') format('svg');
font-weight: normal;
font-style: normal;
Chrome=を経験したことがあるので、これらのフォントの表示に問題がありますスムーズに。
いくつか検索した後、私は機能しているように見える解決策を見つけました:あなたは単にCSSのこの部分を移動します:
url('../fonts/Cardo104s-webfont.svg#CardoRegular') format('svg');
だからあなたはこれで終わります:
@font-face {
font-family: 'CardoRegular';
src: url('../fonts/Cardo104s-webfont.eot');
src: url('../fonts/Cardo104s-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/Cardo104s-webfont.svg#CardoRegular') format('svg'),
url('../fonts/Cardo104s-webfont.woff') format('woff'),
url('../fonts/Cardo104s-webfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
Chromeはフォントをスムーズにレンダリングします。これは素晴らしいことです。
だが:
何らかの理由で、このSOMETIMESはレイアウトを壊します。ページを3回読み込むたびに、次のような結果が得られます。
すべてが左に移動されます。長いテキストはコンテナから抜け出しています。本当に奇妙に見えます。
**誰かがこの問題を以前に経験したことがありますか?
これについてアドバイスをいただければ幸いです。**
お気軽にご確認ください: Fireflycovers.comをオンラインで表示
どうもありがとう!
私はこの正確な問題を自分のウェブサイトで発生させました。
Svgを一番上に置く代わりに、元のフォーマットを維持しながら、以下に示すようにメディアクエリを追加します。これにより、chromeフォントが完全にレンダリングされ、レイアウトの破損が修正されます。
@font-face {
font-family: 'CardoRegular';
src: url('../fonts/Cardo104s-webfont.eot');
src: url('../fonts/Cardo104s-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/Cardo104s-webfont.woff') format('woff'),
url('../fonts/Cardo104s-webfont.ttf') format('truetype'),
url('../fonts/Cardo104s-webfont.svg#CardoRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'CardoRegular';
src: url('../fonts/Cardo104s-webfont.svg#CardoRegular') format('svg');
}
}
いくつかのサイトで同じ問題(またはさらに悪い問題)が発生しています。ほとんどの場合、テキストはそれ自体の上に押しつぶされます。
現時点での唯一の解決策は、古いフォントに戻すことです。 CSSルールを追加することもできます:-webkit-font-smoothing: antialiased;
少し改善しました。
@font-face
ルールの複製にあります。Qukaの回答のメディアクエリでは必ずしも必要ではありませんが、これはWebkitブラウザーのみをターゲットにするための良い方法です。
@font-face
宣言を正確に(レンダリングを向上させるために最初にsvgとして)複製し、それをオリジナルの下に貼り付けると、ファンキーなレイアウト/描画の問題がなくなります。
ここでは、メディアクエリは重要ではないことを強調します。これは複製されたルールです。これはとても奇妙なバグです。ばかげた。