掌握CSS关键字unset的正确使用方法

发表时间: 2017-08-24 20:06

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

我们都知道,每一个CSS属性必然有一个特性,要么默认是继承的,要么默认是不继承的。例如:border是不可继承样式,而color,text-align等是可继承样式。

一、理解概念

unset:从字面上理解就是不设置,其实,它就是关键字initial和inherit的组合。什么意思呢?如果我们给一个CSS属性设置了unset的话:

  1. 如果该属性是默认继承属性,该值等同于inherit

  2. 如果该属性是非继承属性,该值等同于initial

下面举个例子(以border和color属性为例)

DOM结构:

CSS结构:

  1. 由于color是可继承样式,设置了color:unset的元素,最终表现为父元素的颜色red。

  2. 由于border是不可继承样式,设置了border:unset的元素,最终表现为border:initial,也就是默认border样式,无边框。

效果图是这样的:

二、应用实例

假如我们要实现这么一个效果:

让两个子元素相对于父元素绝对定位一下。

DOM结构:

CSS结构:

通常的处理办法可能是如上所示,由于left和right都是不可继承的属性,所以我们可以这么写

也可以不写right。

总结:

unset:从字面上理解就是不设置,本质就是关键字initial和inherit的组合。