choco's story
CSS 16. inherit, initial, unset 본문
상속(Ingeritance)
상속(Ingeritance) 이란?
: 하위 요소가 상위 요소의 스타일 속성값을 물려받는 것
이 상속 기능이 이루어지는 속성과, 영향을 받지 않는 속성이 따로 있습니다.
아래 표는 이러한 속성들을 구분한 것입니다.
| 상속 여부 | 상속 O | 상속 X |
|---|---|---|
| 속성 |    color, font-family, font-size, font-   weight, text-align, cursor 등 |    background-color, background-image,    background-repeat, border, display 등 |
상속(Ingeritance) 사용 예시
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>의사 요소</title>
<style>
div {
display: flex;
justify-content: center;
align-items: center;
width: 300px;
height: 300px;
/* p 태그의 텍스트는 아래 tomato 색을 상속받음
(따로 p 태그 스타일이 있으면 해당 스타일 적용) */
color: tomato;
font-size: 24px;
border: 3px dashed violet;
}
p {
border: 1px solid blue;
}
</style>
</head>
<body>
<div>
<p>가운데 p 태그</p>
</div>
</body>
</html>
p 태그 요소에는 텍스트 색을 따로 지정하지 않았지만 div 태그 요소가 가진 color: tomato; 색상이 그대로 상속되었습니다.
p {
color: teal;
border: 1px solid blue;
}
p 태그 요소에 따로 색상 속성을 추가하면, 해당 속성을 우선적으로 적용합니다.
공용 키워드
공용 키워드란?
: 모든 CSS 속성에 사용 가능한 키워드, "전역 값"이라고도 표현
아래는 공용 키워드의 종류를 정리한 것입니다.
| 키워드 | 의미 |
|---|---|
| inherit | 상위 요소로부터 해당 속성의 값을 받아 사용 |
| initial | (브라우저에 지정되어 있는) 해당 속성의 기본값을 요소에 적용 |
| unset | 상속 속성에 대해서는 inherit처럼, 상속되지 않는 속성에 대해서는 initial처럼 적용   |
공용 키워드 사용 예시1
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>의사 요소</title>
<style>
div {
display: flex;
justify-content: center;
align-items: center;
width: 300px;
height: 300px;
color: tomato;
font-size: 36px;
border: 3px dashed violet;
}
p {
color: initial;
font-size: inherit;
border: inherit;
}
</style>
</head>
<body>
<div>
<p>가운데 p 태그</p>
</div>
</body>
</html>
color는 상속받지 않는 기본값인 initial로 하였기 때문에 검은색으로 됩니다.
font-size는 p태그 상위 요소인 div의 크기를 상속받으니 36px입니다.
여기서 border도 inherit으로 상속받는데, 만약 initial로 바꾸면 어떻게 될까요?
p {
color: initial;
font-size: inherit;
border: initial;
}
border는 기본값이 없으니 initial을 사용할 수 없습니다.
따라서 border: initial;라고 한 경우엔 테두리가 아예 없어지게 됩니다.
border: unset;이라고 한 경우엔 상속받는 값이면 inherit을, 그렇지 못하는 값이면 initial을 적용합니다.
p {
color: initial;
font-size: inherit;
border: unset;
}
즉 똑같이 p 태그 요소의 테두리 선이 없어집니다.
'HTML & CSS > CSS' 카테고리의 다른 글
| CSS 17. z-index (0) | 2026.05.30 |
|---|---|
| CSS 15. 의사 요소 (0) | 2026.05.26 |
| CSS 14. 의사 클래스 (가상 클래스) (0) | 2026.05.22 |
| CSS 13. 선택자 - 특성 선택자, 결합 선택자 (0) | 2026.05.21 |
| CSS 12. flexbox 2 (0) | 2026.05.20 |
