This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

CSS 선택자

CSS 에서, 선택자는 스타일을 지정할 웹 페이지의 HTML 요소를 대상으로 하는 데 사용됩니다. 사용 가능한 다양한 CSS 선택자가 있으며, 스타일을 지정할 요소를 선택할 때 세밀한 정밀도를 허용합니다. 이 글와 하위 글에서는 다양한 유형을 자세히 살펴보고 작동 방식을 살펴보겠습니다.

필요한 사전 지식: 기본 컴퓨터 활용 능력, 기본 소프트웨어 설치, 파일 작업 에 대한 기본 지식, HTML 기본 사항 (HTML 소개 학습) 및 CSS 작동 방식에 대한 이해 (CSS 첫 단계 학습)
목표: CSS 선택자 작동 방식에 대해 자세히 알아보기.

선택자란 무엇인가요?

CSS 선택자는 CSS 규칙의 첫 번째 부분입니다. 선택자는 규칙 내부의 CSS 속성 값을 적용하기 위해 어떤 HTML 요소를 선택해야 하는지 브라우저에 알려주는 요소 및 기타 용어의 패턴입니다. 선택자에 의해 선택되는 요소를 선택자의 대상이라고 합니다.

h1이 강조된 코드

다른 글에서 몇 가지 다른 선택자를 만나보셨습니다. 예를 들어 h1 과 같은 요소 또는 .special 과 같은 클래스를 선택하는 등 다양한 방법으로 문서를 대상으로 하는 선택자가 있다는 것을 배웠습니다.

CSS에서 선택자는 CSS 선택자 사양에 정의되어 있으며, CSS의 다른 부분과 마찬가지로 브라우저에서 지원되어야 작동합니다. 여러분이 접하게 될 대부분의 선택자는 성숙한 사양인 레벨 3 선택자 사양레벨 4 선택자 사양에 정의되어 있으며, 따라서 이러한 선택자에 대한 브라우저 지원은 훌륭합니다.

선택자 목록

동일한 CSS를 사용하는 항목이 두 개 이상 있는 경우 개별 선택자를 선택자 목록 으로 결합하여 규칙이 모든 개별 선택자에 적용되도록 할 수 있습니다. 예를 들어 h1에 대해 동일한 CSS와 .special 클래스가 있는 경우 이를 두 개의 개별 규칙으로 작성할 수 있습니다.

css
h1 {
  color: blue;
}

.special {
  color: blue;
}

또한 이들 사이에 쉼표를 추가하여 선택자 목록으로 결합할 수도 있습니다.

css
h1, .special {
  color: blue;
}

쉼표 앞이나 뒤에 공백을 사용할 수 있습니다. 선택자를 새 줄에 배치하면 가독성을 높일 수도 있습니다.

css
h1,
.special {
  color: blue;
}

아래 라이브 예제에서 선언이 동일한 두 선택자를 결합해 보십시오. 결합 후 시각적 표시가 동일해야 합니다.

이러한 방식으로 선택자를 그룹화할 때 선택자 중 구문적으로 유효하지 않은 선택자가 있으면 전체 규칙이 무시됩니다.

다음 예제에서는 잘못된 클래스 선택자 규칙이 무시되지만 h1의 스타일은 계속 유지됩니다.

css
h1 {
  color: blue;
}

..special {
  color: blue;
}

그러나 결합하면 전체 규칙이 유효하지 않은 것으로 간주되므로 h1이나 클래스 모두 스타일이 지정되지 않습니다.

css
h1,
..special {
  color: blue;
}

선택자의 유형

선택자에는 몇 가지 다른 그룹이 있으며, 어떤 유형의 선택자가 필요한지 알면 작업에 적합한 도구를 찾는 데 도움이 됩니다. 이 글의 하위 문서에서는 다양한 선택자 그룹에 대해 더 자세히 살펴보겠습니다.

유형, 클래스 및 ID 선택자

이 그룹에는 <h1> 과 같은 HTML 요소를 대상으로 하는 선택자가 포함됩니다.

css
h1 {
}

또한 클래스를 대상으로 하는 선택자가 포함됩니다.

css
.box {
}

또는 ID

css
#unique {
}

속성 선택자

이 선택자 그룹은 요소에 특정 속성이 있는지에 따라 요소를 선택하는 다른 방법을 제공합니다.

css
a[title] {
}

또는 특정 값을 가진 속성의 존재 여부에 따라 선택할 수도 있습니다.

css
a[href="https://example.com"]
{
}

의사 클래스 및 의사 요소

이 선택자 그룹에는 요소의 특정 상태 스타일을 지정하는 의사 클래스가 포함됩니다. 예를 들어 :hover 의사 클래스는 마우스 포인터로 요소를 가리키고 있을 때만 요소를 선택합니다.

css
a:hover {
}

또한 요소 자체가 아닌 요소의 특정 부분을 선택하는 의사 요소도 포함됩니다. 예를 들어 ::first-line은 항상 요소 내부의 첫 번째 텍스트 줄(아래 사례에서는 <p>)을 선택하며, 마치 형식이 지정된 첫 번째 줄을 <span>으로 감싼 다음 선택한 것처럼 작동합니다.

css
p::first-line {
}

결합자

최종 선택자 그룹은 문서 내의 요소를 대상으로 하기 위해 다른 선택자를 결합합니다. 예를 들어 다음은 하위 결합자(>)를 사용하여 <article> 요소의 직접 자식인 단락을 선택합니다.

css
article > p {
}

요약

이 글에서는 특정 HTML 요소를 타겟팅할 수 있는 CSS 선택자를 소개했습니다. 다음에는 타입, 클래스 및 ID 선택자에 대해 자세히 살펴보겠습니다.

전체 선택자 목록은 CSS 선택자 참조를 참고하세요.