简单了解CSS3的all属性(css3vh)
(点击上方公众号,可快速关注)
作者:张鑫旭(@张鑫旭)
网址:http://www.zhangxinxu.com/wordpress/2016/03/know-about-css3-all/
一、兼容性
一些CSS文章,或者CSS文档,兼容性什么的都是放在最后。
又不是什么见不得人的事情,来,直接开篇就亮刺刀。
兼容性还行, 除了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;
支持三个CSS通用属性值,initial, inherit, unset. 这三个属性值分别表示什么意思呢?
您可以狠狠地点击这里:CSS3 all属性演示demo(http://www.zhangxinxu.com/study/201603/css3-all.html)
默认的HTML和CSS是这样的,一个传统的标签内容,有标题有列表:
<ar野山椒直播官网ticle>
<h6>标题</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:1pxsolid#34538b;
background-color:#ffffe0;
color:red;
}
这盛世,如你所见:
颜色啊,间距啊,以及文本域状态都是我们认为的样子显示。
现在,点击demo的下拉,选择对应的all属性值,实现野山椒直播官网下面CSS效果:
.initial > * {
all:initial;
}
.inherit > * {
all:inherit;
}
.unset > * {
all:unset;
}
结果:
initial
initial是初始值的意思,也就是,article元素下面所有的第一级子元素都除了unicode-bidi和direction以外的CSS都使用初始值。
例如,<h6>, <p>元素浏览器内置的display:block直接拜拜了,都变成了inline元素,因此在一行显示:
font-size也使用了浏览器软件本身设置的大小16px,color颜色也变成了浏览器软件本身的黑色。例如,在浏览器设置中改变字号,从中变成野山椒直播官网大:
会看到显示的文字内容也变大了:
由于我们只是对相邻层级子元素进行了initial设置,因此,<li>元素不受影响,但是,由于在父元素不明的情况下,<li>元素的默认是打点,因此,这里从数字变成了点,list-style-type和list-style-position都变化了。
inherit
inherit是继承的意思,也就是,article元素下面所有的相邻子元素都除了unicode-bidi和direction以外的CSS都继承了<article>元素的CSS。
因此,<h6>, <p>元素还是块状的,background-color都是<article>元素的背景色,color颜色也跟<a野山椒直播官网rticle>一样,是绿色(文本域的红色被干掉了)。
不仅上面这些CSS,padding/margin也都继承了,只是默认是0, 看不出来,我们稍微修改下,例如给<article>元素来个margin值:
结果,那些子元素都开花了:
unset
unset是取消设置的意思,也就是,article元素下面所有的相邻子元素除了unicode-bidi和direction以外的CSS都干掉都不要,不要了那用什么呢?unset值的特性如下,当前元素浏览器或用户设置的CSS忽略,然后如果是具有继承特性的CSS,如color, 则使用继承值;如果是没有继承特性的CSS属性,如background-color, 则野山椒直播官网使用初始值。
因此,<h6>, <p>元素的display属性值使用了initial初始值,因此变成了inline元素,两个同一行显示了;而这些元素的color颜色使用了inherit继承值,因此都是绿色,<textarea>的背景色background-color不具有继承特性,因此使用的是initial初始值,也就是transparent透明,因此,就是截图所示效果。
三、结语
动手写文章之前,还以为这个CSS属性会有意想不到的妙用,最后结果是,表现确实意想不到,至于妙用,我只能科科一下。
all所牵扯的CSS实在是太多了,我目前还是想不出有什么场景,就是要用这个CSS属性。或者说什么时候,希望特野山椒直播官网殊的元素一下子变成普通元素,例如,input输入框外面一个div,来个input{all:inherit;},貌似还真有这样的场景,输入框不需要border不需要background不需要padding不需要margin, 恩,不错,不枉写此文了!
【今日微信公号推荐↓】
更多推荐请看《值得关注的技术和设计公众号》
其中推荐了包括技术、设计、极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!
音乐节详情,请点阅读原文
上一篇:使用 sdkman 只需几步即可配置您的 java 环境(sdk怎么配置环境变量)
下一篇:Css中text-align属性在哪些标签中会生效,在哪些标签中不会生效?(css中transition属性用法)
-
AGM首款折叠手机官宣:竖向折叠,具有三防属性(折叠手机2020新款)
-
学生管理系统源码:采用SpringBoot Vue开发的前后端分离系统(学生管理系统前端html页面代码)
-
视觉中国:将把版权保护工作定位为“公益”属性 为行业生态健康发展不断努力(视觉中国版权保护)
-
校园食堂管理系统,对学生、家长、学校的意义(学校 食堂 管理)
-
北京初三学生复课 LOOKHOT体温管理系统有效提升学校防疫工作效率(北京初三学生复课放学时间是几点开始)
-
CSS 中 display,visiblity及 overflow 的作用和区别(css display visibility)
-
Css中text-align属性在哪些标签中会生效,在哪些标签中不会生效?(css中transition属性用法)
-
简单了解CSS3的all属性(css3vh)
最新更新
- AGM首款折叠手机官宣:竖向折叠,具有三防属性(折叠手机2020新款)
- 学生管理系统源码:采用SpringBoot Vue开发的前后端分离系统(学生管理系统前端html页面代码)
- 视觉中国:将把版权保护工作定位为“公益”属性 为行业生态健康发展不断努力(视觉中国版权保护)
- 校园食堂管理系统,对学生、家长、学校的意义(学校 食堂 管理)
- 北京初三学生复课 LOOKHOT体温管理系统有效提升学校防疫工作效率(北京初三学生复课放学时间是几点开始)
- CSS 中 display,visiblity及 overflow 的作用和区别(css display visibility)
- Css中text-align属性在哪些标签中会生效,在哪些标签中不会生效?(css中transition属性用法)
- 简单了解CSS3的all属性(css3vh)
- 使用 sdkman 只需几步即可配置您的 java 环境(sdk怎么配置环境变量)
- 微软推出 Microsoft Build of OpenJDK 预览版!(微软推出人工智能模型CoDi)
推荐阅读
- JAVA程序员一定知道的优秀第三方库(2016版)(java程序员在哪里可以接单子)
- 让单元格只能输入日期,就这么简单(excel单元格只能输入日期)
- 蓝鸥:为梦想导航,为高薪助力(蓝鸥环保设备有限公司)
- 首批48家券商开启沪市“INS13ZD报盘”,高频量化客户喜大普奔,全链传输速率效率提升80%,更快更优更高效江西墓葬群挖出22具干尸,提取一颗“脑干”后,考古家:令人后怕(awk数据库)
- CSS基线之道(基线偏置方式)
- 如何创建你的私人博客?打造个人IP!(建立个人博客网站的流程)
- IO.Win32讲义第十六节 以太网伺服器与应用程序(websocket-serves)
- 杰越课后:若想努力学习板绘,插画新手灵修!(新手怎样看懂标识符)
- 资源共享 | 微信小程序源代码3000套模板 教程 素材 福利!(小程序源码使用教程)
- 再看《狂飙》,我发现了高启强失败的真正原因......娱乐圈的“假戏真做”,祸害了多少女明星?(狂飙剧情介绍大结局视频)