这是我正在影响的页面:http://www.careerchoiceswithlaura.com/blog/
检查这些元素会发现,我设置了一个类"博客文章",并将其添加到页面上的每个条目中。然后,我使用一个简单的算法将一个名为"偶数"或"奇数"的类应用于适当的条目,这样我就可以错开颜色效果,使页面更可读。
问题是,当我在CSS文件中使用以下行应用规则时:
.blog-post .odd-numbered { background: #ddd; }
它不会影响博客文章和奇数的元素;事实上,该规则对页面没有任何影响。
有人能解释一下为什么,以及我应该使用哪些类选择器来影响所述元素吗?
我在网上进行了研究,发现W3上的这篇文章通常很有帮助(如果你看看我上面提到的页面上的/blog/:279,这个规则似乎应该有效),但即使有了这个规则,它似乎也与我试图针对的元素没有任何关系。
您的示例选择器以类odd-numbered
的元素为目标,这些元素具有类blog-post
的祖先元素。
在HTML中,.blog-post
元素也是.odd-numbered
元素。
那么,您的选择器应该是.blog-post.odd-numbered
(注意没有空格)。
您需要这些CSS伪选择器:
elementname:nth-child(even)
和
elementname:nth-child(odd)
文件:http://www.w3.org/Style/Examples/007/evenodd
要用两个类名对同一元素进行样式设置,您需要(不带空格):
.blog-post.odd-numbered { background: #ddd; }
您的原始样式带有一个空格,在内部为类别odd-numbered
的元素设置样式,为类别blog-post
来自CSS3
:nth-child(odd)
如果应用到同一个元素,则应作为.blog-post.odd-numbered { background: #ddd; }
应用,不带空格btw css类。