Cascading이란?
- 여러 개의 스타일 규칙이 있을 때, 캐스케이드 우선순위에 따라 최종 스타일을 결정하는 과정을 의미합니다.
- 여기서 "cascading"은 "폭포처럼 순서대로 내려가는"이라는 의미로 사용됩니다.
캐스케이드 우선순위(Cascade precedence)
- Origin and importance
1-1
CSS transitions
1-2
user-agent (browser) !important
1-3
user !important
1-4
author(developer) !important
1-5
CSS @keyframe animations
1-6
inline style definition(developer)
1-7
author(developer)
1-8
user
1-9
user-agent (browser)
!important
와 inline style definition
은 스타일 디버깅을 어렵게 만든다.
- 명시도(Specificity)
2-1
아이디(IDs)
2-2
클래스(Classes), 속성(attributes), 가상클래스(pseudo-classes)
2-3
요소(Elements), 가상요소(pseudo-elements)
- 상속된 스타일(Inherited style)
- 부모 태그에 적용된 CSS 규칙은 자손에게도 상속됩니다.
- 모든 속성이 상속되는 건 아니고, 상속되는 속성(
color
, font-family
, font-size
, font-weight
, line-height
, text-align
, ... 등)들이 정해져 있습니다.
- 가까운 조상에게 물려받은 속성일수록 우선순위가 높습니다.
- 코드 상의 순서
- 동일한 가중치를 갖는 규칙이 두 개 이상인 경우, 코드에서 아래 쪽에 쓴 코드일수록 우선순위가 높습니다.
참고