为什么nth-child适用于所有按钮?

时间:2012-09-03 19:07:40

标签: html css css3 css-selectors

这是example of my HTML and CSS。对于我的生活,我无法弄清楚为什么第二条规则适用于所有按钮,而不仅仅是前三条。

HTML

<div id="test">
<ul>
<li><button>1</button></li>
<li><button>2</button></li>
<li><button>3</button></li>
<li><button>4</button></li>
<li><button>5</button></li>
<li><button>6</button></li>
    </ul>
</div>

CSS

#test button
{
    background-color: blue;
}

#test button:nth-child(-n + 3) 
{
    background-color: red;
}

#test button:hover {
    background-color: green;
}

1 个答案:

答案 0 :(得分:5)

您将nth-child应用于错误的元素:每个button只有一个孩子。您的意思是定位li元素:

#test ul li:nth-child(-n + 3) button
{
    background-color: red;
}

http://jsfiddle.net/fCFEn/3/