「 Eric Meyer Reset 」を試してみると、font-size:100%
適切なすべての要素のフォント サイズをリセットするという宣言に関する問題に出くわしました。要素は親のプロパティを font-size:100%
継承する必要があることを意味しますが、IE のand要素とその子孫には当てはまりません (バージョン 6、7、8、および 9 でテスト済み)。font-size
<sub>
<sup>
例(またはプレイグラウンドでのこのライブ例):
// CSS:
sup,span {font-size:100%;}
// HTML:
if you try this in IE, <sup>this text will be smaller <span>and this even more</span></sup>
これは、これらの要素の唯一の不具合ではないため、IE が Web デザイナーに仕掛ける別の実装トリックのように思えます。私の推測では、IE は<sub>
and<sup>
要素に独自のハードワイヤード スタイルを適用し、下付き/上付きに加えてコンテンツを小さくしますが、この動作をリセットする方法がまったくない場合は見つけられません。
// この問題に直接返信してください。「UA 固有のスタイルシートを使用する」などの提案は、役に立つという気持ちを満たすかもしれませんが、トピックを満足させるものではありません :-)しかし、ここでこのトピックに対する答えを少なくとも 1 つ述べておきたいと思います。
編集:<sub>
IE (IE9 までのすべてのバージョン) は、および<sup>
その子孫のフォント サイズに可変係数 (フォント サイズに応じて0.6 ~ 0.8の間の sth) を乗算するように見えます。
理由は次のとおりです。固定サイズ (例: font-size:15px
) が<sup>
タグとそのすべての子孫に設定されている場合、それらのフォント サイズはすべて 10px (≅ 0.7 × 15px) 前後です。しかし、代わりに相対サイズが設定されている場合 (例: font-size:100%
)、係数効果は<sup>
要素からその子孫に伝播されます。したがって、第 1 レベルの子孫のフォント サイズは約 70% (親の ≅ 0.7 × 100% ) になります。<sup>
第 2 レベルの子孫のフォント サイズは約 50% (祖先の ≅ 0.7 × 0.7 × 100% ) などです。<sup>
この伝播は を使用すると壊れますfont-size:inherit
。これは、要素がその親とまったく同じサイズでなければならないことを意味するためです。これは、要素の子孫に対して機能します。<sup>
要素ですが、<sup>
要素自体には、親要素よりも小さいフォント サイズが IE によって与えられます。
IE に参加している係数理論 :-) は、この例で見ることができます。また、これを「標準準拠」のブラウザと比較してください。