라는 클래스를 사용 하여 첫 번째 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
.
:first-of-type
귀하의 경우에는 CSS3가 있습니다.
.detail_container h1:first-of-type
{
color: blue;
}
그러나 브라우저 호환성 문제 및 기타 문제로 인해 첫 번째 h1
클래스를 제공 한 다음 해당 클래스를 대상으로 지정하는 것이 좋습니다 .
.detail_container h1.first
{
color: blue;
}
답변
:first-child
부모 요소의 첫 번째 자식 인 h1
경우에만 첫 번째를 선택합니다 . 당신의 예에서는 ul
의 첫 번째 자식입니다 div
.
의사 클래스의 이름은 다소 오해의 소지가 있지만 여기 사양에서 명확하게 설명 되어 있습니다.
jQuery의 :first
선택기는 원하는 것을 제공합니다. 다음과 같이 할 수 있습니다.
$('.detail_container h1:first').css("color", "blue");
답변
특정 경우에는 다음을 사용할 수 있습니다.
.detail_container > ul + h1{
color: blue;
}
그러나 많은 경우에 동일한 선택기가 필요한 경우 BoltClock이 말한 것처럼 클래스가 있어야합니다.
답변
당신은 또한 사용할 수 있습니다
.detail_container h1:nth-of-type(1)
숫자 1을 다른 숫자로 변경하면 다른 h1 항목을 선택할 수 있습니다.
답변
h1
태그를 다른 태그로 래핑 div
한 다음 첫 번째 태그 는 first-child
. 즉, div
심지어 스타일을 필요로하지 않는다. 그 아이들을 분리하는 방법 일뿐입니다.
<div class="h1-holder">
<h1>Title 1</h1>
<h1>Title 2</h1>
</div>
답변
요소는 <body>
태그 에서 직접 상속 할 수 없습니다 . <dir style="padding-left:0px;"></dir>
태그 에 넣을 수 있습니다 .