본문 바로가기
Mark Up/CSS

[CSS] Chapter 05. 선택자(Selector)_3

by song.ift 2022. 11. 26.
1. 주요 선택자 - Type, Class, ID
2. 속성 선택자 - [attr], [attr=value]
3. 속성 선택자 -[attr^], [attr$], [attr_]
4. 가상클래스 선택자 - first-child, last-child, nth-child
5. 가상클래스 선택자 - first-of-type, last-of-type, nth-of-type
6. 가상클래스 선택자 - not
7. 가상클래스 선택자 - link, visited
8. 가상클래스 선택자 - hover, active, focus
9. 가상클래스 선택자 - enabled, disabled, checked
10. 가상요소 선택자 - before, after
11. 가상요소 선택자 - first-letter, first-line, selection
12. 선택자 결합 - 하위, 자식
13. 형제 선택자, 그룹화
14. 범용 선택자 (_)
15. 상속 제어하기 - initial
16. 상속 제어하기 - inherit, unset
17. 우선순위

 

12. 선택자 결합 - 하위, 자식

css
닫기
/* Selector Combinators [선택자 결합] 하위, 자식, 형제 선택자, 그룹화 */ /* 하위 */ ul li:last-of-type { ​​​​color: red; } #list li:last-of-type { ​​​​color: red; } /* 자식 */ /* 하위의 하위를 전부 찾는게 아니라, 앞 쪽에 있는 선택자의 바로 밑에 있는 하위 선택자 */ #list > li:last-of-type { ​​​​color: red; }


13. 형제 선택자, 그룹화

css
닫기
/* Selector Combinators [선택자 결합] 하위( ), 자식(>), 형제 선택자, 그룹화 */ /* 1. 일반 형제 선택자 결합 (~) */ /* 형제 중에서 span에서 selector까지 적용. 1개만 해당하는 게 아니라 복수 적용 */ span ~ p { ​​​​color: red; } /* 2. 인접 형제 선택자 결합 */ /* span 바로 뒤에 selector가 인접해있다면 적용 */ span + p { ​​​​color: red; } /* 3. 그룹화 */ p, span { ​​​​color: red; }


14. 범용 선택자 (_)

css
닫기
/* 범용 선택자 (Universal Selector) */ /* 전체 선택자 */ * { ​​​​color: red; } /* 인접 형제 선택자 등 다른 선택자와 결합도 가능 */ p + * { ​​​​color: red; }


15. 상속 제어하기 - initial

css
닫기
/* 상속 제어하기 - initial, inherit, unset */ .parent { ​​​​color: red; } /* css 속성중에서 color, font-size 등 설정이 안되어 있다면 부모의 속성을 따라간다. 그럴 경우, initial을 통해 상속을 끊어서 브라우저의 기본값으로 설정되게 할 수 있다. all: initial로 모든 속성을 끊을 수도 있다. */ .child { ​​​​color: initial; }

 

16. 상속 제어하기 - inherit, unset

css
닫기
/* 상속 제어하기 - initial, inherit, unset */ /* parent의 자식 모두 다 선택 */ /* inherit는 자식이 css 정의를 해봤자, 무시하고 무조건 부모의 값을 따르게 설정 */ .parent * { ​​​​color: inherit; } /* unset 1. 부모로부터 상속받을 값이 있을 때 : inherit 2. 부모로부터 상속받을 값이 없을 때 : initial 언제 사용하냐? 여러가지 css 파일을 임포트했을 때, 뭐가 적용된건지 헷갈릴 수 있다. 그래서 초기에 unset으로 초기화를 한 번 해주고, 자신이 가지고있는 부모것만 받아서 재정의하도록 사용할 수 있다. */


17. 우선순위

css
닫기
/* 우선순위 1. 선언된 곳 2. 명시도 (적용범위가 적을수록 명시도가 높은 것) - 태그보다는 클래스고 클래스보다는 id가 더 명확해서 높다. - !important > inline style > ID > Class/Attribute/Pseudo Class > Type(tag) > * > inherited 3. 코드 위치 - 좀 더 나중에 선언된 것들 */

 

댓글