2.2.4.1. 하위 조합(Descendant combinator) or 하위 선택자
CSS Level 1 선택자
하위 조합 선택자는 특정 요소의 하위에 있는 요소를 선택합니다.
하위 조합 콤비 네이터를 사용하는 선택기를 하위 선택자 라고 합니다.
CSS 초급 요약 설명
- CSS의 초급 단계에서는 기본적인 선택자와 속성을 사용하여 HTML 요소의 스타일을 지정하는 방법을 배웁니다. 이를 통해 텍스트 스타일링, 배경 및 여백 조절, 그리고 레이아웃을 설정할 수 있습니다.
- 초급 단계에서는 주로 클래스 및 ID 선택자와 함께 색상, 글꼴, 너비 및 높이, 위치 등의 속성을 활용하여 웹 페이지의 기본적인 디자인을 구성하는 방법을 익힙니다.
요약 설명CSS 선택자 level 1, 2 part-2 에서는
- 조합 선택자(Combinators)
- 속성 선택자(Attribute Selector)
- 의사(가상) 클래스(Pseudo-classes)
에 대한 내용을 다루고 있습니다.선택자는 보통 스타일링하고 싶은 HTML 요소나 부여한 ID 혹은 class가 위치합니다.
선언부에 여러개의 속성과 속성값이 있을때는 ;(세미콜론)으로 구분합니다.
각각의 선언은 속성과 속성값을 :(콜론)으로 구분합니다.
CSS는 기본적으로 선언된 순서에 따라 적용되지만 각종 선택자와 삽입 위치에 따라 우선순위가 달라질 수 있습니다.
선택자 우선순위는 !important > 인라인 스타일 > 아이디 선택자 > 클래스/속성/가상 선택자 > 태그 선택자 > 전체 선택자 로 적용됩니다.
CSS Level 1 선택자
하위 조합 선택자는 특정 요소의 하위에 있는 요소를 선택합니다.
하위 조합 콤비 네이터를 사용하는 선택기를 하위 선택자 라고 합니다.
CSS Level 2 선택자
자식 연결자(Child Selector)는 특정 요소의 자식 요소를 선택합니다.
첫 번째 요소와 일치하는 요소의 직접적인 하위 요소인 두 번째 선택자와 일치하는 요소만 일치합니다.
두 번째 선택자와 일치하는 요소는 첫 번째 선택자와 일치하는 요소의 직계 자식이어야 합니다.
특정 요소의 자식 요소를 선택. 한단계 아래에 있는 요소만 선택한다.
CSS Level 2 선택자
형제(동위) 셀렉터는 형제 관계(동위 관계)에서 뒤에 위치하는 요소를 선택할 때 사용합니다.
인접한 형제 선택자(Adjacent Sibling Selector)는 요소의 형제 요소 중 첫번째 형제 요소를 선택하며,
지정된 요소의 인접한 형제와 만 일치합니다. 즉, 요소는 동일한 상위 요소를 가져야하며 지정된 요소 바로 다음에 와야합니다.
셀렉터A의 형제 요소 중 셀렉터A 바로 뒤에 위치하는 셀렉터B 요소를 선택하며, A와 B 사이에 다른 요소가 존재하면 선택되지 않습니다.
Element + Element(셀렉터A + 셀렉터B)
p + ul {color:#ff0000;}
[인접한 형제 선택자]
CSS Level 2 선택자
CSS 속성 선택기는 주어진 속성의 존재 또는 값에 따라 요소를 일치시킵니다.
지정된 속성을 가진 요소를 선택.
ex) h1[title] /*title 속성을 가진 h1 요소를 선택*/
속성의 값이 value인 요소를 선택. 속성값이 정확히 일치해야 합니다.
ex) h1[title="abc"] /*title 속성의 값이 abc인 h1 요소를 선택*/
지정된 속성 값이 지정된 값을 (공백으로 분리된) 단어로 포함하는 요소를 선택합니다.
속성의 값이 value를 포함한 요소를 선택. 포함 여부는 단어 기준으로 판단합니다.
ex) h1[title~="abc"] /*title 속성의 값이 abc를 포함한 h1 요소를 선택. "abc xyz"는 선택되지만 "abcxyz"는 선택되지 않습니다.*/
지지정된 속성 값과 일치하거나 지정 속성 값 뒤 연이은 하이픈("값-")으로 시작하는 요소를 선택합니다.
속성의 값이 value이거나 value-로 시작하는 요소를 선택합니다.
ex) h1[title|="abc"] /*title 속성의 값이 abc이거나 abc로 시작하는 h1 요소를 선택. "abc-xyz"는 선택되지만 "abc xyz"는 선택되지 않습니다*/
선택자 뒤에 :가상이벤트를 붙이면 특정 이벤트마다 적용 할 스타일을 설정 할 수 있으며, 이를 가상 (추상)클래스라 합니다.
CSS Level 1 선택자 - E:link
/ E:visited
CSS Level 1, 2 선택자 - E:active
/ E:hover
/ E:focus
링크의 기본 스타일 효과를 주는 속성과 링크에 활성화를 더해주는 속성으로 구분합니다.(The link pseudo-classes or The user action pseudo-classes)
링크에 사용되는 동적 의사 클래스
:hover
는 반드시 :link
와 :visited
가 먼저 정의된 후에 정의되어야 정상적으로 동작합니다.
:active
는 반드시 :hover
가 먼저 정의된 후에 정의되어야 정상적으로 동작합니다.
아직 방문하지 않은 요소를 나타냅니다.
링크의 기본 상태이며, 사용자가 아직 한 번도 이 링크를 통해 연결된 페이지를 방문하지 않은 상태입니다.
방문한 링크일 때
사용자가 한 번이라도 이 링크를 통해 연결된 페이지를 방문한 상태입니다.
클릭된 상태일 때
사용자가 마우스로 링크를 클릭하고 있는 상태입니다.
마우스가 올라와 있을 때
사용자의 마우스 커서가 링크 위에 올라가 있는 상태입니다.
포커스가 들어와 있을 때
키보드나 마우스의 이벤트(event) 또는 다른 형태로 해당 요소가 포커스(focus)를 가지고 있는 상태입니다.
요약 설명
CSS Level 2 선택자
구조 의사 클래스를 사용하면 HTML 요소의 계층 구조에서 특정 위치에 있는 요소를 선택할 수 있습니다.
셀렉터에 해당하는 요소 유형(타입)에 상관없이 모든 요소 중 첫번째 자식인 요소를 선택합니다.
부모의 첫 번째 자식 인 요소를 나타냅니다.
이 가상 클래스는 CSS2.1에서 먼저 정의되었고 IE7+ 모든 브라우저들이 지원하고 있습니다.
CSS Level 2 선택자
language 의사 클래스는 문서의 언어를 기반으로 요소를 선택합니다.
특정 요소를 언어 설정에 따라 다르게 표현할 때에 사용합니다.
최상위 html에 lang="언어코드"가 있으면 최상위에 있는것이 먼저 적용됩니다.