カテゴリー > CSS

今回は、CSSのIE6/7で効くスターハックについて、解説したいと思います。
IE6に効く、スターハックの書き方
この書き方は有名だと思いますので、知ってる方も多いと思われますが、IE6だけに CSSを効かせたい場合は以下の用に記述すると適用できます。
<p class="sample">ここにIE6だけスタイルを適用したい場合。</p>
* html p.sample {
text-align:justify;
}
では、これが何故IE6にのみ適用されるのかというと、普通にCSSを読み解くと、
全ての要素以下の、html要素以下の、sampleというクラスがついたpという意味になります。
ですが、htmlのルート要素(一番親のなる要素)は、htmlのはずなのですが、IE6の場合は、
さらに上にDTDが親要素として存在していると解釈されているようです。
つまり、ブラウザはレンダリングの際に、以下のように解釈していると捉えれるんじゃないでしょうか。
<DTD> <html> </html> </DTD>
しかし、CSSのセレクタとしてDTDを書くことができませんので、かわりに全称セレクタである「*」を指定しているわけですね。



