CSS 선택자는 HTML 요소를 선택하여 스타일을 적용하는 방법을 정의한다. 선택자는 HTML 문서 내에서 원하는 요소를 선택하고, 그 요소에 특정 스타일을 적용하기 위해 사용된다. 선택자는 다양한 방식으로 요소를 지정할 수 있으며, 이를 통해 원하는 스타일을 정확하게 적용할 수 있다.
<p>
, <h1>
, <div>
, <a>
등p {
color: blue;
}
모든 <p>
요소에 파란색 텍스트 색상을 적용한다.
class
속성값을 기준으로 선택한다. 클래스는 여러 요소에 재사용할 수 있다..
)을 사용한다..button {
background-color: green;
color: white;
}
class="button"
을 가진 모든 요소에 스타일을 적용한다.
id
속성값을 기준으로 선택한다. ID는 한 문서 내에서 유일해야 하므로 하나의 요소만 선택된다.#
)을 사용한다.#header {
background-color: lightgray;
}
id="header"
를 가진 요소에 스타일을 적용한다.
*
를 사용한다.* {
margin: 0;
padding: 0;
}
모든 요소에 기본 마진과 패딩을 제거한다.
,
)를 사용하여 그룹화한다.h1, h2, h3 {
font-family: Arial, sans-serif;
}
<h1>
, <h2>
, <h3>
요소에 동일한 스타일을 적용한다.
>
기호를 사용한다.div > p {
color: red;
}
<div>
의 직접 자식인 <p>
요소에 빨간색 텍스트 색상을 적용한다.
div p {
color: blue;
}
<div>
요소 내에 있는 모든 <p>
요소에 파란색 텍스트 색상을 적용한다.
+
기호를 사용한다.h1 + p {
color: green;
}
<h1>
바로 뒤에 오는 <p>
요소에 녹색 텍스트 색상을 적용한다.
~
기호를 사용한다.h1 ~ p {
color: purple;
}
<h1>
뒤에 나오는 모든 <p>
요소에 보라색 텍스트 색상을 적용한다.
input[type="text"] {
background-color: yellow;
}
type="text"
속성을 가진 모든 <input>
요소에 노란색 배경을 적용한다.
a[href^="https"] {
color: green;
}
href
속성이 https
로 시작하는 모든 <a>
요소에 초록색 텍스트 색상을 적용한다.
a[href*="example"] {
color: red;
}
href
속성에 example
을 포함한 모든 <a>
요소에 빨간색 텍스트 색상을 적용한다.
:hover
a:hover {
color: red;
}
링크 위에 마우스를 올리면 빨간색으로 변경된다.
:first-child
ul li:first-child {
font-weight: bold;
}
<ul>
의 첫 번째 <li>
요소에 굵은 글씨 스타일을 적용한다.
:last-child
ul li:last-child {
color: blue;
}
<ul>
의 마지막 <li>
요소에 파란색 텍스트 색상을 적용한다.
:nth-child()
ul li:nth-child(odd) {
background-color: lightgray;
}
<ul>
내에서 홀수 번째 <li>
요소에 회색 배경을 적용한다.
::before
p::before {
content: "Note: ";
font-weight: bold;
}
모든 <p>
요소 앞에 "Note: "를 추가한다.
::after
p::after {
content: " (End of Paragraph)";
}
모든 <p>
요소 뒤에 "(End of Paragraph)"를 추가한다.
.class1 p
는 .class1
클래스가 적용된 요소 내의 <p>
요소를 선택한다..class1 p {
color: red;
}
.class1
클래스가 적용된 요소 내에 있는 모든 <p>
요소에 빨간색 텍스트 색상을 적용한다.
:not()
p:not(.highlight) {
color: gray;
}
.highlight
클래스가 없는 모든 <p>
요소에 회색 텍스트 색상을 적용한다.
id > class > element
순으로 우선순위가 적용된다.#header
는 .class1
보다 더 높은 우선순위를 가진다..class1
은 div
보다 우선순위가 높다.CSS 선택자는 HTML 요소를 선택하여 스타일을 적용하는 방법을 정의하는 중요한 도구이다. 다양한 선택자를 사용하여 원하는 요소에 정확하게 스타일을 적용할 수 있다. element
, class
, id
선택자부터 pseudo-class
, pseudo-element
, attribute
선택자까지 CSS 선택자는 다양한 방식으로 활용 가능하다. 선택자를 잘 활용하면 복잡한 스타일을 보다 쉽게 관리할 수 있다.