선택자 목록

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

CSS 선택자 목록(,)은 일치하는 모든 요소를 선택합니다.

css
/* 모든 span과 div 요소 선택 */
span,
div {
  border: red 2px solid;
}

다수의 선택자를 쉼표 구분 목록에 넣어 스타일 시트 크기를 줄일 수 있습니다.

구문

element, element, element { style properties }

예제

한 줄 묶기

쉼표로 구분한 목록을 한 줄에 배치할 수 있습니다.

css
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: helvetica;
}

여러 줄 묶기

쉼표로 구분한 목록을 여러 줄에 배치할 수도 있습니다.

css
#main,
.content,
article {
  font-size: 1.1em;
}

선택자 목록 무효화

선택자 목록의 단점은, 다음의 두 경우가 서로 같지 않다는 점입니다.

css
h1 {
  font-family: sans-serif;
}
h2:maybe-unsupported {
  font-family: sans-serif;
}
h3 {
  font-family: sans-serif;
}
css
h1,
h2:maybe-unsupported,
h3 {
  font-family: sans-serif;
}

왜냐하면 목록 내의 하나의 선택자라도 브라우저가 지원하지 않으면 전체 목록을 무효화하기 때문입니다.

대응 방법은 :is() 선택자를 사용하는 것을 통해, 유효하지 않은 선택자를 무시하는 것입니다. 그러나 :is()가 명시도를 계산하는 방법으로 인해, 모든 선택자가 동일한 명시도를 갖게 되는 부작용이 있습니다.

css
h1 {
  font-family: sans-serif;
}
h2:maybe-unsupported {
  font-family: sans-serif;
}
h3 {
  font-family: sans-serif;
}
css
:is(h1, h2:maybe-unsupported, h3) {
  font-family: sans-serif;
}

명세

Specification
Selectors Level 4
# grouping

브라우저 호환성

BCD tables only load in the browser

같이 보기

  • 선택자 목록 무효화라는 과거의 실수를 가지지 않는 :is() Experimental , :where() Experimental 의사 클래스.