CSS에서
상속
은 일부 속성이 부모 요소에서 자식 요소로 전달되는 방식을 말한다.
initial
부모 요소의 스타일 속성을 상속받고 싶지 않을 때 사용한다. 이 값을 사용하여 속성을 초기화할 수 있다.
p {
color: initial;
}
그러나 모든 속성을 초기화하고 싶지 않을 때는 하나하나 속성을 초기화 해야 하는 번거로움이 있다.
이를 해결하기 위해서는 all
속성을 사용하면 된다.
p {
all: initial
}
inherit
initial
과 반대로 무조건 부모의 속성을 상속받을 때 사용한다.
p {
color: inherit
}
unset
자연스럽게 상속되는 경우라면
inherit
를, 그렇지 않은 경우라면initial
을 적용한다.
p {
color: unset
}
🤔 그렇다면, 여러 개의 상속이 겹치거나 부모 요소와 자식 요소가 겹치는 경우는 어떻게 판단하는 걸까?
자식 요소에서 동일한 속성에 다른 값을 명시적으로 지정하면, 그 값이 상속된 값을 덮어쓴다.
이를 우선순위라고 하며, 이는 CSS에서 스타일이 적용되는 순서를 결정하는 중요한 원칙이다.
선언 위치
<style>
태그∴ style 속성이 가장 높은 우선 순위를 가진다.
명시도
코드 순서
important
inline style
id
class
, attribute
, pseudo class
Type(tag)
*
inherited