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>

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>

 

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>

 

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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM