css相当于first:child首先在div中定位<p>并使用heading和img进行操作?

Dam*_*mon 7 css css-selectors

我希望div中的第一段比后面的所有段落都要大,但段落不是div的第一个子句.正如w3schools所写,我认为以下语法可行,但它似乎不是:

#feature > p:first-child {
    font-size: 22px;
}


#feature p {
    font-size: 16px;
}


<div id="feature">
    <h2>Feature Name</h2>
    <img class="featureimg" src="images/whatever.jpg" />
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Nam mattis accumsan consequat. Vivamus eu ligula magna. Cras ultrices nisl et justo convallis nec volutpat purus facilisis.Vestibulum eget augue justo, </p>
</div>
Run Code Online (Sandbox Code Playgroud)

显然我可以将p元素放在他们自己的div中,但这看起来像是divitis,我想知道是否有更直接的方法来完成这个!

http://jsfiddle.net/35yYJ/

Bol*_*ock 10

简单的办法做到这一点是使用CSS3的:first-of-type:

#feature > p:first-of-type {
    font-size: 22px;
}
Run Code Online (Sandbox Code Playgroud)

但浏览器对它的支持很差,所以对于你的情况,你可以尝试使用这个仅限CSS2的选择器,假设第一个p后跟一个h2和一个img(来自你的问题标题):

#feature > h2:first-child + img + p {
    font-size: 22px;
}
Run Code Online (Sandbox Code Playgroud)