:first-child
선택은 형식에 관계없이 부모의 첫 번째 자식을 선택합니다. <p>
은 부모 <div>
의 세 번째 자녀입니다. 당신이 div p:first-child
을 말할 때, 첫 번째 p
를 선택하지 않는, 어떻게 :first-child
작품을 명확히하기 위해
div p:first-of-type {
border-left: 5px solid #bdc3c7;
}
<div>
<h3>1 January 2018</h3>
<h1>This is my first Article</h1>
<p>First</p>
<p>Second</p>
<p>Third</p>
</div>
편집을 : 지정된 유형의 첫 번째 자식을 선택하려면, 대신 :first-of-type
사용 어떤 div
의 자녀. div
의 첫 번째 자녀를 여전히 선택하고 있지만 해당 자녀가 p
인 경우에만 해당됩니다. 따라서 추가 제한 사항입니다.
아래 예제에서는 :first-child
에 시안 색 배경을 사용했습니다. 유형이 다르더라도 두 제목에 적용된 것을 볼 수 있습니다. 그런 다음 p:first-child
에 빨간색 테두리를 사용했습니다. 이 p
때문에 당신은 그것을 만 가지고 이번에는 두 번째 타이틀에 적용되는 것을 볼 수 있습니다, 그것은 p
하지 않기 때문에 그것이 첫 타이틀에 적용되지 않은 (즉, 그것은 h3
입니다) :
div :first-child {
background-color: #0ff;
}
div p:first-child {
border: 1px solid #f00;
}
<div>
<h3>This is my first Article</h3>
<p>First</p>
<p>Second</p>
<p>Third</p>
</div>
<div>
<p>This is my second Article</p>
<p>First</p>
<p>Second</p>
<p>Third</p>
</div>
아 :
또는
. 내가 참조. 그래서'p : first-child'의'p'는 중복되어 있습니다. 그렇지 않습니까? –:nth-child(3)
사용을 사용정확하지 않습니다. 'p : first-child' _only_는 'div'의 첫 번째 자식이'p' 요소 일 경우 서식을 적용합니다. 이것은 많은 상황에서 유용 할 수 있습니다. (너의 것만은 아님!) – Sam
아니요, 중복되지는 않지만 생각하는대로 행동하지 않습니다. 만약 당신이 그것을 사용하지 않으면 스타일은 모든 div의 모든 첫 아이에게 적용될 것입니다. 이것을 사용하면 첫 번째 자식이'p' 일 경우에만 모든 div의 모든 자식에게 적용됩니다. 자세한 설명과 예는 내 편집 답변을 참조하십시오. –