CSS3的all屬性是什么

這篇文章主要介紹了CSS3的all屬性是什么,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨清免費(fèi)建站歡迎大家使用!

一、兼容性

一些CSS文章,或者CSS文檔,兼容性什么的都是放在最后。

又不是什么見(jiàn)不得人的事情,來(lái),直接開(kāi)篇就亮刺刀。

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

兼容性還行, 除了IE不支持,其他瀏覽器基本上都綠油油,目前自?shī)首詷?lè),內(nèi)網(wǎng)項(xiàng)目什么的都是可以用用的。

二、all是干嘛用的

all屬性實(shí)際上是所有CSS屬性的縮寫(xiě),表示,所有的CSS屬性都怎樣怎樣,但是,不包括unicode-bidi和direction這兩個(gè)CSS屬性。

為什么會(huì)有這個(gè)CSS屬性呢?

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

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

input, textarea {

color: inherit;

font-size: inherit;

font-family: inherit;

因?yàn)檫@類輸入控件自身有內(nèi)置的大小和字體,需要重置。

此時(shí),大家就會(huì)發(fā)現(xiàn),這些屬性值都是inherit, 要是可以合并就好了!

喲喲喲,說(shuō)到點(diǎn)子上了,CSS all屬性就是用來(lái)合并的。

input, textarea {

all: inherit;

喔噢,三合一,頓時(shí)一陣春風(fēng)拂面之感。但是,這里僅僅是展示作用,實(shí)際上是不會(huì)這么用的,因?yàn)?,all:inherit會(huì)讓背景色什么的,都繼承父級(jí),相信這不是你希望看到的。

三、語(yǔ)法和區(qū)別

語(yǔ)法如下:

all: initial;

all: inherit;

all: unset;

/* CSS4特性,無(wú)視之 */

all: revert;

支持三個(gè)CSS通用屬性值,initial, inherit, unset. 這三個(gè)屬性值分別表示什么意思呢?

您可以狠狠地點(diǎn)擊這里:CSS3 all屬性演示demo(http://www.zhangxinxu.com/study/201603/css3-all.html)

默認(rèn)的HTML和CSS是這樣的,一個(gè)傳統(tǒng)的標(biāo)簽內(nèi)容,有標(biāo)題有列表:

<article>

<h7>標(biāo)題</h7>

<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;

這盛世,如你所見(jiàn):

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

顏色啊,間距啊,以及文本域狀態(tài)都是我們認(rèn)為的樣子顯示。

現(xiàn)在,點(diǎn)擊demo的下拉,選擇對(duì)應(yīng)的all屬性值,實(shí)現(xiàn)下面CSS效果:

.initial > * {

all: initial;

.inherit > * {

all: inherit;

.unset > * {

all: unset;

結(jié)果:

initial

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

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

例如,<h7>, <p>元素瀏覽器內(nèi)置的display:block直接拜拜了,都變成了inline元素,因此在一行顯示:

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

font-size也使用了瀏覽器軟件本身設(shè)置的大小16px,color顏色也變成了瀏覽器軟件本身的黑色。例如,在瀏覽器設(shè)置中改變字號(hào),從中變成大:

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

會(huì)看到顯示的文字內(nèi)容也變大了:

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

由于我們只是對(duì)相鄰層級(jí)子元素進(jìn)行了initial設(shè)置,因此,<li>元素不受影響,但是,由于在父元素不明的情況下,<li>元素的默認(rèn)是打點(diǎn),因此,這里從數(shù)字變成了點(diǎn),list-style-type和list-style-position都變化了。

inherit

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

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

因此,<h7>, <p>元素還是塊狀的,background-color都是<article>元素的背景色,color顏色也跟<article>一樣,是綠色(文本域的紅色被干掉了)。

不僅上面這些CSS,padding/margin也都繼承了,只是默認(rèn)是0, 看不出來(lái),我們稍微修改下,例如給<article>元素來(lái)個(gè)margin值:

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

結(jié)果,那些子元素都開(kāi)花了:

unset

CSS3的all屬性是什么

簡(jiǎn)單了解CSS3的all屬性

unset是取消設(shè)置的意思,也就是,article元素下面所有的相鄰子元素除了unicode-bidi和direction以外的CSS都干掉都不要,不要了那用什么呢?unset值的特性如下,當(dāng)前元素瀏覽器或用戶設(shè)置的CSS忽略,然后如果是具有繼承特性的CSS,如color, 則使用繼承值;如果是沒(méi)有繼承特性的CSS屬性,如background-color, 則使用初始值。

因此,<h7>, <p>元素的display屬性值使用了initial初始值,因此變成了inline元素,兩個(gè)同一行顯示了;而這些元素的color顏色使用了inherit繼承值,因此都是綠色,<textarea>的背景色background-color不具有繼承特性,因此使用的是initial初始值,也就是transparent透明,因此,就是截圖所示效果。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“CSS3的all屬性是什么”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

分享文章:CSS3的all屬性是什么
網(wǎng)頁(yè)路徑:http://muchs.cn/article26/ihiscg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站、虛擬主機(jī)、手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作