간단한 예 :
HTML
<p style="color:red!important">
this text is red
<em>
this text is in the initial color (e.g. black)
</em>
this is red again
</p>
CSS
em {
color:initial;
color:unset;
}
initial
과 의 차이점은 무엇입니까 unset
? 브라우저 만 지원
답변
귀하의 링크 에 따르면 :
unset
속성이 상속 된 경우 “상속”, 속성이 상속되지 않은 경우 “초기”와 동일한 CSS 값입니다.
다음은 그 예입니다.
pre {
color: #f00;
}
.initial {
color: initial;
}
.unset {
color: unset;
}
<pre>
<span>This text is red because it is inherited.</span>
<span class="initial">[color: initial]: This text is the initial color (black, the browser default).</span>
<span class="unset">[color: unset]: This text is red because it is unset (which means that it is the same as inherited).</span>
</pre>
차이가 중요한 시나리오는 스타일 시트에서 일부 CSS를 재정의하려고하지만 브라우저 기본값으로 다시 설정하는 것보다 값이 상속되는 것을 선호하는 경우입니다.
예를 들면 :
pre {
color: #00f;
}
span {
color: #f00;
}
.unset {
color: unset;
}
.initial {
color: initial;
}
<pre>
<em>Text in this 'pre' element is blue.</em>
<span>The span elements are red, but we want to override this.</span>
<span class="unset">[color: unset]: This span's color is unset (blue, because it is inherited from the pre).</span>
<span class="initial">[color: initial]: This span's color is initial (black, the browser default).</span>
</pre>
답변
각각의 차이점을 살펴볼 때 향후 참조를 위해 공식 CSS | MDN 문서를 인용하고 싶습니다.
초기 CSS 키워드는 속성의 초기 값을 요소에 적용합니다. 모든 CSS 속성에서 허용되며 지정된 요소가 속성의 초기 값을 사용하도록합니다.
따라서 귀하의 예에 따르면 :
em {
color:initial;
/* color:unset; */
}
<p style="color:red!important">
this text is red
<em>
this text is in the initial color (e.g. black)
</em>
this is red again
</p>
어떻게 ‘참고 초기 속성은 유지 초기color
요소의 속성을.
unset CSS 키워드는 초기 및 상속 키워드의 조합입니다. 이 두 개의 다른 CSS 전체 키워드와 마찬가지로 CSS 속기 all을 포함한 모든 CSS 속성에 적용 할 수 있습니다. 이 키워드는 속성이 부모로부터 상속 된 경우 상속 된 값으로 재설정되고 그렇지 않은 경우 초기 값으로 재설정됩니다. 즉, 첫 번째 경우에는 inherit 키워드처럼 작동하고 두 번째 경우에는 초기 키워드처럼 작동합니다.
따라서 귀하의 예에 따르면 :
em {
/* color:initial; */
color:unset;
}
<p style="color:red!important">
this text is red
<em>
this text's color has been unset (e.g. red)
</em>
this is red again
</p>
unset 속성이 단순히 요소 의 속성을 재설정 하는 방법에 유의하십시오 color
.
결론적으로
아이디어는 매우 간단하지만 실제로는 두 CSS 속성에 대한 크로스 브라우저 호환성을 다룰 때주의를 기울일 것입니다.