搜尋
首頁web前端css教學css3中all屬性有什麼用? css3中all屬性的用法介紹

這篇文章帶給大家的內容是關於css3中all屬性有什麼用? css3中all屬性的用法介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

一、相容性

如下圖:

css3中all屬性有什麼用? css3中all屬性的用法介紹

相容性還行, 除了IE不支持,其他瀏覽器基本上都是綠油油,目前自娛自樂,內網計畫什麼的都是可以用的。

二、all是幹嘛用的

all屬性其實是所有CSS屬性的縮寫,表示,所有的CSS屬性都怎樣,但是,不包括unicode-bidi和direction這兩個CSS屬性。

為什麼會有這個CSS屬性呢?

我們可能知道,有些CSS屬性值基本上所有CSS屬性都有,比方說繼承inherit!

我們CSS reset輸入框的時候,是不是有類似這樣的程式碼(實際上可能是具體值,作用類似):

input, textarea {
    color: inherit;
    font-size: inherit;
    font-family: inherit;
}

因為這類輸入控制項本身有內建的大小和字體,需要重置。

此時,大家就會發現,這些屬性值都是inherit, 要是可以合併就好了!

CSS all屬性就是用來合併的。

input, textarea { 
   all: inherit; 
}

這裡只是展示作用,實際上是不會這麼用的,因為,all:inherit會讓背景色什麼的,都繼承父級,相信這不是你希望看到的。

三、語法和區別

語法如下:

all: initial;
all: inherit;
all: unset;

/* CSS4特性,无视之 */
all: revert;

預設的HTML和CSS是這樣的,一個傳統的標籤內容,有標題有清單:

<article>
    <h6 id="标题">标题</h6>
    <p>p变文字</p>
    <ol>
        <li>有序列表1</li>
        <li>有序列表2</li>
        <li>有序列表3</li>
    </ol>
    <textarea>文本域</textarea>
</article>
article {
    background-color: #f0f3f9;
    color: green;
}
article > textarea {
    border: 1px solid #34538b;
    background-color: #ffffe0;
    color: red;
}

如你所見:

css3中all屬性有什麼用? css3中all屬性的用法介紹

顏色,間距,以及文字域狀態都是我們認為的樣子顯示。

現在,點選demo的下拉,選擇對應的all屬性值,實現下面CSS效果:

.initial > * {
    all: initial;
}
.inherit > * {
    all: inherit;
}
.unset > * {
    all: unset;
}

結果:

css3中all屬性有什麼用? css3中all屬性的用法介紹

##initial是初始值的意思,也就是,article元素下面所有的第一級子元素都除了unicode-bidi和direction以外的CSS都使用初始值。

例如,
,

元素瀏覽器內建的display:block直接拜拜了,都變成了inline元素,因此在一行顯示:

css3中all屬性有什麼用? css3中all屬性的用法介紹

#font-size也使用了瀏覽器軟體本身設定的大小16px,color顏色也變成了瀏覽器軟體本身的黑色。例如,在瀏覽器設定中改變字號,從中變成大:

css3中all屬性有什麼用? css3中all屬性的用法介紹

#會看到顯示的文字內容也變大了:

css3中all屬性有什麼用? css3中all屬性的用法介紹

由於我們只是對相鄰層級子元素進行了initial設置,因此,
  • 元素不受影響,但是,由於在父元素在不明的情況下,
  • 元素的預設是打點,因此,這裡從數字變成了點,list-style-type和list-style-position都變化了。

    css3中all屬性有什麼用? css3中all屬性的用法介紹

    inherit是繼承的意思,也就是,article元素下面所有的相鄰子元素都除了unicode-bidi和direction以外的CSS都繼承了
    元素的CSS。

    因此,
    ,

    元素還是塊狀的,background-color都是

    元素的背景色,color顏色也跟
    一樣,是綠色(文字域的紅色被幹掉了)。

    不只上面這些CSS,padding/margin也都繼承了,只是預設是0, 看不出來,我們稍微修改下,例如給
    元素來個margin值:

    css3中all屬性有什麼用? css3中all屬性的用法介紹

    結果,那些子元素都開花了:

    css3中all屬性有什麼用? css3中all屬性的用法介紹

    unset

    css3中all屬性有什麼用? css3中all屬性的用法介紹

    #unset是取消設定的意思,也就是, article元素下面所有的相鄰子元素除了unicode-bidi和direction以外的CSS都乾掉都不要,不要了那用什麼呢? unset值的特性如下,當前元素瀏覽器或使用者設定的CSS忽略,然後如果是具有繼承特性的CSS,如color, 則使用繼承值;如果是沒有繼承特性的CSS屬性,如background-color, 則使用初始值。

    因此,

    ,

    元素的display屬性值使用了initial初始值,因此變成了inline元素,兩個同一行顯示了;而這些元素的color顏色使用了inherit繼承值,因此都是綠色,

    最後

    all所牽扯的CSS實在太多了,我目前還是想不出有什麼場景,就是要用這個CSS屬性。或者說什麼時候,希望特殊的元素一下子變成普通元素,例如,input輸入框外面一個p,來個input{all:inherit;},貌似還真有這樣的場景,輸入框不需要border不需要background不需要padding不需要margin。

    #

  • 以上是css3中all屬性有什麼用? css3中all屬性的用法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文轉載於:segmentfault思否。如有侵權,請聯絡admin@php.cn刪除
    光標的下一個CSS樣式光標的下一個CSS樣式Apr 23, 2025 am 11:04 AM

    具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

    世界碰撞:使用樣式查詢的鑰匙幀碰撞檢測世界碰撞:使用樣式查詢的鑰匙幀碰撞檢測Apr 23, 2025 am 10:42 AM

    互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

    使用CSS背景過濾器進行UI效果使用CSS背景過濾器進行UI效果Apr 23, 2025 am 10:20 AM

    有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

    微笑嗎?微笑嗎?Apr 23, 2025 am 09:57 AM

    好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

    '漂亮”在情人眼中'漂亮”在情人眼中Apr 23, 2025 am 09:40 AM

    是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

    CSS-tricks編年史XLIIICSS-tricks編年史XLIIIApr 23, 2025 am 09:35 AM

    此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

    tailwind的@Apply功能比聽起來更好tailwind的@Apply功能比聽起來更好Apr 23, 2025 am 09:23 AM

    在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯

    感覺就像我沒有釋放:走向理智的旅程感覺就像我沒有釋放:走向理智的旅程Apr 23, 2025 am 09:19 AM

    像白痴一樣部署的部署歸結為您部署的工具與降低複雜性與添加的複雜性之間的獎勵之間的不匹配。

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    mPDF

    mPDF

    mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

    VSCode Windows 64位元 下載

    VSCode Windows 64位元 下載

    微軟推出的免費、功能強大的一款IDE編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強大的PHP整合開發環境