* {
}
문서 내의 모든 요소를 선택
p {
}
span, div {
}
태그명으로 요소를 선택
#hello {
}
id가 일치하는 요소를 선택
.hello {
}
class가 일치하는 요소를 모두 선택
a[href] {
/* href 어트리뷰트를 가지고 있는 a 태그 모두 선택 */
}
.hello[data-id] {
/* data-id 어트리뷰트를 가지고 있으며 클래스가 hello인 요소 모두 선택 */
}
<div>
<p>paragraph 1</p>
<p>paragraph 2</p>
<span><p>paragraph 3</p></span>
</div>
div p {
color: red
}
셀렉터A 셀렉터B 형식으로 사용하며 셀렉터A 후손 요소 중 셀렉터B와 일치하는 모든 요소를 선택한다. 자식과 후손을 헷깔리면 안됨. 자식은 바로 하위 1단계 노드만을 의미하며 후손은 리프 노드까지 모두 포함한다.
<div>
<p>paragraph 1</p>
<p>paragraph 2</p>
<span><p>paragraph 3</p></span>
</div>
div > p {
color: red
}
셀렉터A > 셀렉터B 형식으로 사용하며 셀렉터A의 자식 요소 중 셀렉터B와 일치하는 모든 요소를 선택한다. 자식과 후손을 헷깔리면 안됨. 자식은 바로 하위 1단계 노드만을 의미하며 후손은 리프 노드까지 모두 포함한다.
p + p {
color: red
}
p ~ p {
color: yellow
}
selector:pseudo-class {
property: value;
}
selector::pseudo-element {
property:value;
}