2007.07.11
IEで疑似的に子供セレクタを実現
ある要素の直接の子要素に対してだけ CSS で指定をしたい場合、子供セレクタ 「 div > p 」 を使う。しかし、IEは未対応。これを擬似的にIEで実現させる方法。
子供セレクタに対応しているブラウザ(IE7、firefox、Opera、Safari等)であれば、下記の CSS で実現できるが、IE には反映されない。
/*CSS*/ #boxA > p { background: #FF0000; }
<!-- HTML --> <div id="boxA"> <p>boxAの直接の子要素。ここだけ背景色を#FF0000に変えたい。</p> <div id="boxB"> <p>boxAの子孫要素、boxBの直接の子要素。ここは背景色を変えない。</p> </div> </div>
下記の方法でIEでも擬似的に子要素への指定を実現
/*CSS*/ #boxA p { background: #FF0000; } #bpxA * p { background: transparent; }
<!-- HTML --> <div id="boxA"> <p>boxA の直接の子要素、ここだけ背景色を#FF0000に変えたい。</p> <div id="boxB"> <p>boxAの子孫要素、boxBの直接の子要素、ここは背景色を変えない。</p> </div> </div>

















