CSS:Selectors
CSS 선택자(Selector)에 대한 설명
연속된 클래스가 보일 경우
.a.b
는 a클래스와 b클래스가 함께 존재 해야 한다:
.c .d
는 c클래스의 하위 요소중 b클래스가 존재 하는 것을 찾는다:
.e, .f
는 e클래스 또는 f클래스 이다:
CSS 연결자 (Combinators)
연결자(combinators)는 선택자(selectors)들 사이의 관계를 설명하는 무엇이다.
CSS 선택자는 하나 이상의 단순 셀랙터를 포함 할 수 있다. 단순 셀랙터 사이에, 우리는 연결자(combinator)를 포함 할 수 있습니다.
전체 선택자(Universal Selector)
*
을 사용한다. html 페이지 내부의 전체 태그를 선택한다. CSS LEVEL 은 2 이다.
타입 선택자(Type Selector)
태그명을 사용한다. CSS LEVEL 은 2 이다.
속성 선택자(Attribute Selector)
-
[attr]
- CSS LEVEL 2 - attr이라는 이름의 특성을 가진 요소를 선택합니다. -
[attr=value]
- CSS LEVEL 2 - attr이라는 이름의 특성값이 정확히 value인 요소를 선택합니다. -
[attr~=value]
- CSS LEVEL 2 - attr이라는 이름의 특성값이 정확히 value인 요소를 선택합니다. attr 특성은 공백으로 구분한 여러 개의 값을 가지고 있을 수 있습니다. -
[attr|=value]
- CSS LEVEL 2 - attr이라는 특성값을 가지고 있으며, 그 특성값이 정확히 value이거나 value로 시작하면서 -(U+002D) 문자가 곧바로 뒤에 따라 붙으면 이 요소를 선택합니다. 보통 언어 서브코드(en-US, ko-KR 등)가 일치하는지 확인할 때 사용합니다. -
[attr^=value]
- CSS LEVEL 3 - attr이라는 특성값을 가지고 있으며, 접두사로 value가 값에 포함되어 있으면 이 요소를 선택합니다. -
[attr$=value]
- CSS LEVEL 3 - attr이라는 특성값을 가지고 있으며, 접미사로 value가 값에 포함되어 있으면 이 요소를 선택합니다. -
[attr*=value]
- CSS LEVEL 3 - attr이라는 특성값을 가지고 있으며, 값 안에 value라는 문자열이 적어도 하나 이상 존재한다면 이 요소를 선택합니다. -
[attr operator value i]
- 괄호를 닫기 전에 i 혹은 I를 붙여주면 값의 대소문자를 구분하지 않습니다. (ASCII 범위 내에 존재하는 문자에 한해서 적용됩니다) -
[attr operator value s]
- (Experimental) 괄호를 닫기 전에 s 혹은 S를 붙여주면 값의 대소문자를 구분합니다. (ASCII 범위 내에 존재하는 문자에 한해서 적용됩니다)
아이디 선택자(ID Selector)
#
으로 시작한다. CSS LEVEL 은 1 이다.
클래스 선택자(Class Selector)
.
으로 시작한다. CSS LEVEL 은 1 이다.
자손 선택자(Descendant Selector)
A B
(공백) - CSS LEVEL 1
모든 자손들을 선택한다.
Yrkim-140331-selector-descendant.png
자식 선택자(Child Selector)
A>B
- CSS LEVEL 2
직계 자손만 선택한다.
Yrkim-140331-selector-child.png
일반 형제 선택자 (General Sibling Selector)
A~B
- CSS LEVEL 3
A 뒤에 따라오는 모든 B 가 있어야 한다.
Yrkim-140331-selector-general_sibling.png
인접 형제 선택자 (Adjacent Sibling Selector)
A+B
- CSS LEVEL 2
A 바로 뒤에 B 가 있어야 한다.
Yrkim-140331-selector-adjacent_sibling.png
가상 요소(Pseudo-elements)
가상 클래스(Pseudo-class)
다중 클래스/ID 및 클래스 선택기
다음과 같이, a 태그의 button, gold, test 클래스를 선택하고 싶을 경우
다음과 같이 .
을 연결하여 나열하면 된다.
다음과 같이, ID를 기반으로 선택하고 싶다면
다음과 같이 할 수 있다.
다음과 같이 복합적으로 선택 하는 것도 가능하다.
See also
Favorite site
- CSS 기초 | MDN
- 반드시 기억해야 하는 CSS 선택자 30개
- [추천] CSS: 선택자(Selector) 이해 1
- [추천] 2.2 CSS3 Selector - 셀렉터 (웹 프로그래밍 튜토리얼 | PoiemaWeb, https://github.com/ungmo2/ungmo2.github.io)
- [추천] CSS / 선택자(Selector) – CODING FACTORY
- CSS Selectors 비쥬얼 가이드 | GeekNews
- [원문] [추천] CSS Selectors: A Visual Guide & Reference | fffuel - 일반 CSS 셀렉터부터, Psedo-Class 및 Psedo-Element 들을 이해하기 쉽게 시각적으로 정리
References
-
Understanding_CSS_selectors.pdf ↩