CSS 선택자는 HTML 요소를 선택하여 스타일을 적용하는 도구이다. 주요 선택자들은 다음과 같다.
* {
margin: 0;
padding: 0;
}
p {
font-size: 16px;
}
.box {
background-color: lightblue;
}
#header {
text-align: center;
}
[type="text"] {
border: 1px solid gray;
}
| 종류 | |
|---|---|
| [attr] | 속성이 존재하는 요소 |
| [attr="value"] | 특정 값을 가진 요소 |
| [attr^="value"] | 특정 값으로 시작하는 요소 |
| [attr$="value"] | 특정 값으로 끝나는 요소 |
| [attr*="value"] | 특정 값을 포함하는 요소 |
| 종류 | |
|---|---|
| :hover | 요소에 마우스를 올릴 때 |
| :focus | 요소가 포커스를 받을 때 |
button:hover {
background-color: lightgray;
}
| 종류 | |
|---|---|
| :first-child | 첫번째 자식인 경우 |
| :last-child | 마지막 자식인 경우 |
| :nth-child(n) | n번째 자식인 경우 |
li:first-child {
color: red;
}
특정 요소의 특정 부분에 스타일을 적용합니다
| 종류 | |
|---|---|
| ::before | 요소 앞에 추가된 가상 콘텐츠 |
| ::after | 요소 뒤에 추가된 가상 콘텐츠 |
h1::before {
content: "★ ";
color: gold;
}
CSS에서 여러 스타일 규칙이 적용될 경우, 캐스케이딩(Cascading) 규칙에 따라 최종 스타일이 결정됩니다.
명시도는 CSS 규칙 간의 우선순위를 결정합니다. 계산 방식은 다음과 같습니다
/* 점수: 1 (태그 선택자) */
p {
color: blue;
}
/* 점수: 10 (클래스 선택자) */
.text {
color: green;
}
/* 점수: 100 (아이디 선택자) */
#unique {
color: red;
}
#unique가 적용되어 텍스트는 빨간색이 됩니다.
CSS 결합자는 여러 요소를 결합하여 특정 요소를 선택하는 데 사용됩니다.
특정 요소의 모든 자손 요소를 선택합니다.
div p {
color: blue;
}
특정 요소의 직계 자식 요소만 선택합니다.
div > p {
font-weight: bold;
}
특정 요소의 직계 자식 요소만 선택합니다.
h1 + p {
margin-top: 10px;
}
특정 요소 뒤에 있는 모든 형제 요소를 선택합니다.
h1 ~ p {
color: gray;
}
그룹화 규칙은 여러 요소에 동일한 스타일을 적용할 때 사용됩니다.쉼표를 사용하여 여러 선택자를 그룹화합니다.
h1, h2, h3 {
font-family: Arial, sans-serif;
}
div > p, section > p {
color: green;
}