CSS选择器:可以只选择第二个元素吗?

时间:2011-06-05 17:42:34

标签: html css css3 internet-explorer-7 css-selectors

这甚至可能吗?

<div class="column">
    <div> 
        <div> 
        </div>    
        <div> <!-- Definitely not this DIV! -->
        </div>    
    </div>
    <div>     <!-- THIS DIV ONLY! -->
    </div>    
</div>

以下CSS选择器获得了我标记为“绝对不是这个DIV!”的那个。

.column div:last-child {
    background-color:red;
}

以下CSS选择器获取我想要的那个以及我标记为“绝对不是这个DIV!”的那个。

.column div + div {
    background-color:red;
}

同样适用于这个:它得到了我想要的那个以及我标记为“绝对不是这个DIV!”的那个。

.column div:first-child + div {
    background-color:red;
}

问题:这甚至可以用于IE7识别的CSS吗? (我假设我的解决方案适用于FF,Safari,Chrome和X:nth-​​child(n)仅适用于IE9 +)谢谢。

3 个答案:

答案 0 :(得分:9)

这应该这样做。

#column > div:first-child + div

您使用类选择器来选择具有ID的元素。

您可能希望查看CSS Selectors,因为它是直接后代&amp;兄弟选择器,为您提供选择特定DOM元素的技巧。

答案 1 :(得分:3)

您需要在>之后投放子组合#column,否则最内层div也会被查看:

#column > div:first-child + div

答案 2 :(得分:0)

试试这个

<style type="text/css">
    div {
        width: 20px;
        height: 20px;
    }
    #column > div + div {
        background-color:red;
    }

</style>
<div id="column">
    <div> 
        <div> 
        </div>    
        <div> <!-- Definitely not this DIV! -->
        </div>    
    </div>
    <div>     <!-- THIS DIV ONLY! -->
    </div>    
</div>
相关问题