【发布时间】:2014-06-27 02:23:04
【问题描述】:
我正在构建一个 UI,我必须在单行上显示 2 个图块。我想要实现的是改变奇数行上的瓷砖颜色。 这就是我正在做的:
div.tile:nth-child(odd),button.btn-odd:nth-child(n)
{
background: rgba(26, 188, 156,1.0);
border-color: rgba(26, 188, 156,1.0);
}
div.tile:nth-child(odd):hover,button.btn-odd:nth-child(n):hover,div.tile:nth-child(odd):hover .btn-odd
{
background: rgba(22, 160, 133,1.0);
border-color: rgba(22, 160, 133,1.0)
}
button.btn-odd:nth-child(n):focus
{
background: rgba(22, 160, 133,1.0);
border-color: rgba(22, 160, 133,1.0)
}
button.btn-odd:nth-child(n):active
{
background: rgba(22, 160, 133,1.0);
border-color: rgba(22, 160, 133,1.0)
}
欲了解更多信息,请查看此小提琴:http://jsfiddle.net/ZC43W/ [将其拉伸以查看连续 2 个图块] 现在的问题是第一行的瓷砖给了我所需的效果。但是,第 2 行(偶数行)上的图块也呈现出相同的效果(绿色,尽管它们应该是蓝色)。谁能告诉我为什么会这样?似乎第 n 个子选择器正在选择所有行而不是仅选择奇数行。
【问题讨论】:
-
您的 CSS 中出现了几次
:nth-child(n)- 这是对 any 子元素的保证匹配。 -
这基本上是选择奇数瓷砖上一行上的所有按钮。但是,是的,它可以以更好的方式完成。
标签: html css css-selectors