css3中all属性有什么用?css3中all属性的用法介绍

本篇文章给大家带来的内容是关于css3中all属性有什么用?css3中all属性的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、兼容性

如下图:

1923524481-5bc7468f82106_articlex.png

兼容性还行, 除了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是这样的,一个传统的标签内容,有标题有列表:

标题

p变文字

  1. 有序列表1
  2. 有序列表2
  3. 有序列表3
article { background-color: #f0f3f9; color: green;}article > textarea { border: 1px solid #34538b; background-color: #ffffe0; color: red;}

如你所见:

529673435-5bc74708ddf72_articlex.png

颜色,间距,以及文本域状态都是我们认为的样子显示。

现在,点击demo的下拉,选择对应的all属性值,实现下面CSS效果:

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

结果:

1714518844-5bc747287ee34_articlex.png

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

例如,

,

元素浏览器内置的display:block直接拜拜了,都变成了inline元素,因此在一行显示:

1187431388-5bc747537fc5c_articlex.png

font-size也使用了浏览器软件本身设置的大小16px,color颜色也变成了浏览器软件本身的黑色。例如,在浏览器设置中改变字号,从中变成大:

2860086-5bc7476314c35_articlex.png

会看到显示的文字内容也变大了:

1663605744-5bc7476e361dc_articlex.png

由于我们只是对相邻层级子元素进行了initial设置,因此,

元素不受影响,但是,由于在父元素不明的情况下,元素的默认是打点,因此,这里从数字变成了点,list-style-type和list-style-position都变化了。

1855253466-5bc74780892da_articlex.png

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

因此,

,

元素还是块状的,background-color都是元素的背景色,color颜色也跟一样,是绿色(文本域的红色被干掉了)。

不仅上面这些CSS,padding/margin也都继承了,只是默认是0, 看不出来,我们稍微修改下,例如给元素来个margin值:

3919917930-5bc74797d49e9_articlex.png

结果,那些子元素都开花了:

1271177904-5bc747abd626f_articlex.png

unset

2638985238-5bc747b9bc90e_articlex.png

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属性的用法介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

关于作者

上一篇 2025年12月24日 03:05:14
下一篇 2025年12月24日 03:05:27

相关推荐

发表回复

登录后才能评论
关注微信