我正在尝试选择第一个h1内部div带有称为的课程detail_container。它可以使用h1是其中的第一个元素div,但如果是这样的话ul它行不通。

<style type="text/css">
.detail_container h1:first-child
{
color:blue;
} 
</style>
</head>
<body>
<div class="detail_container">
    <ul>
    <li></li>
    <li></li>
    </ul>
    <h1>First H1</h1>
    <h1>Second H1</h1>
</div>
</body>
</html>

我的印象是我拥有的CSS会选择第一个h1不管它在哪里div。我该如何使其工作?

答案

h1:first-child选择器装置

选择父母的第一个孩子
当且仅当它是h1元素。

:first-child这里的容器是ul,因此无法满足h1:first-child

有CSS3:first-of-type对于您的情况:

.detail_container h1:first-of-type
{
    color: blue;
} 

但是,随着浏览器兼容性困扰和whatot,您最好先提供第一个h1一堂课,然后针对该课程:

.detail_container h1.first
{
    color: blue;
}

来自: stackoverflow.com