전체 선택자, 타입 선택자, 속성 선택자

스타일 속성을 적용하는 요소를 '선택자(selector)' 라고 부릅니다. 먼저 전체 선택자, 타입 선택자, 속성 선택자를 살펴보겠습니다.
3 min read

스타일 속성을 적용하는 요소를 '선택자(selector)'라고 부릅니다. 먼저 전체 선택자, 타입 선택자, 속성 선택자를 살펴보겠습니다.

목차

전체 선택자 (Universal Selector)

전체 선택자는 모든 HTML 요소를 선택합니다. 별표( * )로 나타냅니다.

예를 들어 다음은 모든 요소의 색을 파란색으로 만듭니다.

* {
  color: blue;
}

다른 선택자와 같이 사용할 때는 생략할 수 있습니다.

즉, 다음 둘은 같은 결과를 만듭니다.

*.abc {
  color: blue;
}
.abc {
  color: blue;
}

 

타입 선택자 (Type Selector)

타입 선택자는 <h1>, <p>, <div>, <span> 등 HTML 요소(Element)를 선택하는 선택자입니다.

예를 들어 다음은 HTML 문서 안에 있는 모든 p 요소의 내용을 파란색으로 만듭니다.

p {
  color: blue;
}

 

속성 선택자 (Attribute Selector)

속성 선택자는 특정 속성(attribute)을 갖고 있거나 특정 속성이 특정 값 등을 갖고 있는 요소(element)를 선택합니다. 속성 선택자는 다음과 같이 7가지 형태가 있습니다.

  • [attribute]
  • [attribute="value"]
  • [attribute~="value"]
  • [attribute|="value"]
  • [attribute^="value"]
  • [attribute$="value"]
  • [attribute*="value"]

 

[attributename]

attributename 속성을 가진 요소를 선택합니다.

예를 들어 다음은 title 속성을 가진 h1 요소를 선택합니다.

h1[title]

 

[attributename=value]

attributename 속성의 값이 value인 요소를 선택합니다.

예를 들어 다음은 title 속성의 값이 abc인 h1 요소를 선택합니다.

h1[title="abc"]

주의할 점은 속성값이 정확히 일치해야 한다는 것입니다.

예를 들어

<h1 title="abc">Lorem</h1>

은 선택되지만,

<h1 title="abc xyz">Lorem</h1>

은 선택되지 않습니다.

 

[attributename~=value]

attributename 속성의 값이 value를 포함한 요소를 선택합니다.

h1[title~="abc"]

는 title 속성의 값이 abc를 포함한 h1 요소를 선택합니다. 포함 여부는 단어 기준으로 판단합니다.

예를 들어

<h1 title="abc xyz">Lorem</h1>

은 선택되지만,

<h1 title="abcxyz">Lorem</h1>

은 선택되지 않습니다.

 

[attributename|=value]

attributename 속성의 값이 value이거나 value-로 시작하는 요소를 선택합니다.

예를 들어

h1[title|="abc"]

는 title 속성의 값이 abc이거나 abc-로 시작하는 h1 요소를 선택합니다.

<h1 title="abc">Lorem</h1>
<h1 title="abc-xyz">Lorem</h1>

은 선택되고,

<h1 title="abc xyz">Lorem</h1>

은 선택되지 않습니다.

 

[attributename^=value]

attributename 속성의 값이 value로 시작하는 요소를 선택합니다.

예를 들어

h1[title^="abc"]

는 title 속성의 값이 abc로 시작하는 h1 요소를 선택합니다. 단어 기준이 아니라 문자열 기준입니다.

따라서

<h1 title="abc xyz">Lorem</h1>
<h1 title="abc-xyz">Lorem</h1>

모두 선택됩니다.

 

[attributename$=value]

attributename 속성의 값이 value로 끝나는 요소를 선택합니다.

예를 들어

h1[title$="abc"]

는 title 속성의 값이 abc로 끝나는 h1 요소를 선택합니다. 단어 기준이 아니라 문자열 기준입니다.

따라서

<h1 title="xyz abc">Lorem</h1>
<h1 title="xyz-abc">Lorem</h1>

모두 선택됩니다.

 

[attributename*=value]

attributename 속성의 값이 value를 포함한 요소를 선택합니다.

예를 들어

h1[title*="abc"] {}

는 title 속성의 값이 abc를 포함한 h1 요소를 선택합니다. 포함 여부는 문자열 기준으로 판단합니다.

따라서

<h1 title="abc xyz">Lorem</h1>
<h1 title="abcxyz">Lorem</h1>
<h1 title="lmn abc-xyz">Lorem</h1>

모두 선택됩니다.

 

CSS 선택자 유형

아이디 선택자, 클래스 선택자 하위 선택자, 자식 선택자, 형제 선택자, 인접 형제 선택자

 

기타 CSS 참조

You may like these posts

  • 일반적으로 신문을 보면 텍스트 단(column)이 여러 개로 나누어져 있습니다. 웹 문서에서도 이렇게 다단으로 편집할 수 있습니다. column과 관련된 여러 속성으로 쉽게 다단을 편집할 수 있습니다. 목차 columns-width columns-count …
  • text-align text-align 속성은 문단의 텍스으 정렬 방식을 정합니다. 속성 값으로 워드나 한글 문서에서 흔히 사용하던 '왼쪽 정렬', '오른쪽 정렬', '양쪽 정렬', '가운데 정렬' 등을 지정할 수 있습니다.   기본형 text-align : left | right | …
  • 인용문(Blockquote) 스타일링 예제 다음은 인용문을 꾸미는 몇 가지 예제입니다. <blockquote>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec mollis nulla. Phasellus lacinia tempus…
  • 텍스트 자간을 조절해보십시오. 강조하고 싶은 글자나 큰 글자들은 글자 사이 간격을 조절해 여유있게 표시하면 읽기 편합니다. 텍스트 간격 조절하기 letter-spacing 속성은 낱 글자 사이의 간격을 조절하고, word-spacing 속성은 단어와 단어 사이의 간격을 조절합니다.  …
  • 인용문의 기호를 바꾸는 방법 <q> 태그는 문단 안에서 사용하는 인용문입니다. 기본 모양은 큰따옴표로 감싸는 것입니다. 간단한 예는 다음과 같습니다. 로딩 중... 잠시만 기다려주세요.자바스크립트를 허용해주세요. !-- 로딩 중... 잠시만 기다려주세요! --  …
  • 링크 꾸미기 링크가 걸린 글자 꾸미는 방법은 <a> 태그를 선택하여 꾸밉니다. 예를 들어 아래 코드는 링크의 색을 빨간색으로 만듭니다. a { color: red; } 가상 클래스를 이용하면 좀 더 다양하게 꾸밀 수 있습니다. a:link - 방문하지 않은 링크 …

Post a Comment