我使用了以下HTML和CSS代码:
p.head-1 {
font-size:250%;
color:#696969;
}
p.head-2 {
font-size:100%;
}
p.head-1+p.head-2 {
text-align:center;
display:block;
}

<div id="header">
<p class="head-1">
This is main heading
</p>
<p class="head-2">
this is another header component
</p>
</div>
&#13;
但是尽管使用兄弟选择器,只有head-2接受CSS属性,而head-1仍然受影响
ie
&#39; text-align&#39;属性仅由head-2
类接受,但不受head-1
答案 0 :(得分:2)
你误解了邻近的兄弟选择器。
它的作用,并且在你的情况下成功,是识别与另一个元素相邻的元素。
在您的示例中,只有head-2
与head-1
相邻时才会识别head-1
。但{{1}}本身并未包括在内。
答案 1 :(得分:1)
您可以像这样简单地包装您的CSS:
#header p{
font-size:250%;
color:#696969;
text-align: center;
/*display:block -- not needed as p is block level element by default*/
}
或者,使用更复杂的选择器:
p[class^="head"]{
text-align: center;
}
如果你想组合选择器,那么使用逗号not plus运算符(加上运算符用于下一个兄弟):
p.head-1, p.head-2
{
text-align:center;
}