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>

TRACKBACK URL トラックバック用URL

COMMENT LIST

POST YOUR COMMENT

送信内容
vericode

おすすめCSSサイト

あわせて読みたいブログパーツ

TopPageへ

更新情報RSSアイコン

閉じる