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