initial、inherit、unset、revert和all
前面的話
在CSS中,有4個關鍵字理論上可以應用于任何的CSS屬性,它們是initial(初始)、inherit(繼承)、unset(未設置)、revert(還原)。而all的取值只能是以上這4個關鍵字。本文將介紹initial、inherit、unset、revert和all
?
initial
表示元素屬性的初始默認值(該默認值由官方CSS規范定義)
兼容性: IE不支持
[注意]關于各屬性的初始默認值移步至此
//display在官方CSS規范中定義的默認值是inline <style> .test{display: initial;} </style> <div class="box"><div class="test">測試一</div><span>文字</span><br><div >測試二</div><span>文字</span> </div>style="line-height: 1.5; width: 100%; height: 80px;" src="https://demo.xiaohuochai.site/css/base/b6.html" frameborder="0" width="320" height="240">
inherit
表示元素的直接父元素對應屬性的計算值
兼容性: IE7-不支持
<style> .box{border: 1px solid black;padding: 10px;width: 100px; } .test{border: inherit;height: 30px; } </style> <div class="box"><div class="test">測試一</div> </div> <div class="box"><div class="in"><div class="test">測試二</div> </div> </div>style="width: 100%; height: 130px;" src="https://demo.xiaohuochai.site/css/base/b7.html" frameborder="0" width="320" height="240">
?
unset
unset相對于initial和inherit而言,相對復雜一點。表示如果該屬性默認可繼承,則值為inherit;否則值為initial。實際上,設置unset相當于不設置
兼容性: IE不支持,safari9-不支持,ios9.2-不支持,android4.4.4-不支持
【常用默認可繼承樣式】
color cursor direction font letter-spacing line-height list-style text-align text-indent text-shadow text-transform white-space word-break word-spacing word-wrap writing-mode //內容為測試一的元素和內容為測試二的元素的樣式是一樣的 <style> .box{border: 1px solid black;padding: 10px;width: 100px;color: red; } .test1{border: unset;color: unset; } </style> <div class="box"><div class="test">測試一</div><div>測試二</div> </div>style="width: 100%; height: 80px;" src="https://demo.xiaohuochai.site/css/base/b8.html" frameborder="0" width="320" height="240">
?
revert
表示樣式表中定義的元素屬性的默認值。若用戶定義樣式表中顯式設置,則按此設置;否則,按照瀏覽器定義樣式表中的樣式設置;否則,等價于unset?
兼容性: 只有safari9.1 和ios9.3 支持
?
all
表示重設除unicode-bidi和direction之外的所有CSS屬性的屬性值,取值只能是initial、inherit、unset和revert
兼容性: IE不支持,safari9-不支持,ios9.2-不支持,android4.4-不支持
<style> .test{border: 1px solid black;padding: 20px;color: red; } .in{ /* all: initial;all: inherit;all: unset;all: revert; */ } </style> <div class="test"><div class="in">測試文字</div> </div>【1】當all:initial時,.in的所有屬性都取默認值
border:none;padding:0;color:black;【2】當all:inherit時,.in的所有屬性都取父元素繼承值
border:1px solid black;padding:20px;color:red;【3】當all:unset時,.in的所有屬性都相當于不設置值,默認可繼承的繼承,不可繼承的保持默認值
border:none;padding:0;color:red;style="width: 100%; height: 220px;" src="https://demo.xiaohuochai.site/css/base/b9.html" frameborder="0" width="320" height="240">
更多專業前端知識,請上 【猿2048】www.mk2048.com
總結
以上是生活随笔為你收集整理的initial、inherit、unset、revert和all的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被嫌弃的eval和with
- 下一篇: 两列自适应布局的4种思路