2013-03-18 18 views
8

こんにちは、私はこの問題を持っている:CSSのテキストがリセットされていますか?

problem

あなたはそれがクロム、右側Firefoxであるかのスクリーンショットがある左手側を見ることができるように。テキストは同じ高さではありません。 HTMLの構造は単純です。フィールドセットがh1タグに置かれているdivだけです。その周りには1pxの境界線があります。そのh1タグの高さは20px、行の高さは20pxです。次は同じサイズのh2タグです。問題はテキストの高さです。 Firefoxで

example2

ChromeとSafariでより1ピクセル低いようです。

最新バージョンではeric meyersのcss resetを使用しています。それはそれによって引き起こされるべきではありません。

誰かが私を助けるヒントを持っていれば素晴らしいことでしょう。

ありがとう。

+0

はこれを試してみてください!右のテキストは、左のテキストより1ピクセルだけ小さいです! – ITroubs

+0

異なるテキストですか、調整する必要があるテキストを含むDOM要素ですか? – vcsjones

+0

@ITroubs thats right。ごめんなさい。それは私が意味していたものです。 – bonny

答えて

2

デフォルトの行の高さは、ブラウザによって異なります。また、フォントファミリごとにフォントサイズが異なります。明示的な行の高さを設定すると、それに対処します。

これは、ブラウザがサブピクセルテキストの配置を処理する方法の違いによるものです。行の高さが20ピクセルでfont-sizeが15ピクセルの場合、テキストは行ボックスの上から2.5ピクセルの位置に配置する必要があります。 Geckoは実際にそれを行い、WebKitは位置を整数ピクセルに丸めます。いくつかの場合、2つのアプローチはピクセルによって異なる答えを与える。

いずれにしても、ハーフ・リーディングが整数であること(つまり、行の高さからfont-sizeを除いた値が偶数であること)が本当に必要な場合、レンダリングの一貫性が向上します。

div h1 { 
    -webkit-padding-before: 1px; 
} 

もう1つの可能な解決策:その高さが同一であなたの写真を見て

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    div h1 { 
     line-height:19px; 
    } 
} 
+0

こんにちは、私はfont-sizeとline-heightを見ました。その16-20 = -4だから大丈夫です。私はwebkit-padding-beforeを追加しました。それでも同じ:(感謝。 – bonny

+0

@ボニー:ライブサンプルを見て、いくつかのテストをするためにフィドルを作ることができますか? –

+0

こんにちは、私はあなたの上に与えた答えからのリンクをご覧ください。ありがとう – bonny

関連する問題