CSS – initial, Inherit, unset, revert
参考
Understanding the “Initial”, “Inherit” and “Unset” CSS Keywords
【译】理解CSS关键字:“Initial”,“Inherit”和“Unset”
属性, 固定值, 相关值, 元素
display, width 是属性
block, inline, px 是固定值
inherit, initial, rem 是相关值
<div>, <span> 是元素
user agent stylesheet
当没有写任何 style 时, 某一些元素配上某些属性会有 user agent stylesheet (游览器默认样式)

比如 div + display = block, span + display = inline, h2 + font-size = 1.5em.
initial
initial 是相关值, 依据不同的属性会有不同的 value.
去查 MDN 就可以看到每一个元素的 initial value 了

display: initial 相等于 display: inline
initial 只看属性, user agent style 看属性 + 元素, 这是 2 者最大的区别, 所以,
div { display: initial } 和 span { display: initial } 结果都是 display: inline
而 user agent style, div + display = block, span + display = inline.
inherited property
有些属性有 cascade 效果, 比如 font-size, color (文本属性都有),
当给 html { font-size: 1.5rem } 后, 所有的子孙元素的 font-size 都会变成 1.5rem, 这些属性被称为 inherited property
非文本属性 width, display, position 则不会 cascade, 它们被称为 non-inherited property.
MDN 上有注明属性是否是 inherited
display 属性

font-size 属性

inherit
inherit 是相关值, 它会去找 parent element 的属性值, 如果 parent 也是 inherit 就继续往上找, 如果 parent 没有 set 那就用 parent 的 user agent style, 如果没有 user agent style 就用 initial 值.
unset
对于 inherited property, unset 和 inherit 是一样的.
对于 non-inherited property, unset 和 initial 是一样的.
当 selector 匹配超过一个元素时才会用到 unset, 比如 * { display: unset }
不然用 inherit 或 initial 就够了
revert
revert 和 unset 是一样的, 唯一的区别是它是用 user agent style 而不是 initial 值 (当然如果没有 user agent style 就用 initail)
总结:
1. initial != user agent style, initial 只关心属性, user agent style 关心元素 + 属性
2. inherited property 指的是那种在 parent set style 会 cascade 到子孙的, 比如 font-size, color (文本 style).
non-inherited property 就是其它不会 cascade 的, 比如 width, display, position
3. inherited property + unset = inherit
non-inherited property + unset = initial
4. inherited property + revert = inherit
non-inherited property + revert = user agnet style
CSS – initial, Inherit, unset, revert的更多相关文章
- css样式关键字(initial,inherit,unset,revert,all)
关键字 在CSS中,有4个关键字理论上可以应用于任何的CSS属性,它们是initial(初始).inherit(继承).unset(未设置).revert(还原).而all的取值只能是以上这4个关键字 ...
- css 中的 initial inherit unset 意思
写css时,在对属性进行选值,经常遇到unset , initial,inherit三个值.这几个值的含义. 1.inherit 可继承性 继承的意思. 每一个 CSS 属性都有一个特性就是,这个属性 ...
- CSS继承控制:inherit、initial和unset
CSS里有三种常用的属性值继承方式:inherit,initial和unset.我们用一个简单的例子来演示一下: <ul style="color: green;"> ...
- The inherit, initial, and unset values
The inherit, initial, and unset keywords are special values you can give to any CSS property. Tests ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 从倒影说起,谈谈 CSS 继承 inherit(转)
从倒影说起,谈谈 CSS 继承 inherit 给定一张有如下背景图的 div: 制作如下的倒影效果: 方法很多,但是我们当然要寻找最快最便捷的方法,至少得是无论图片怎么变化,div 大小怎么变化,我 ...
- 谈谈一些有趣的CSS题目-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你 ...
- CSS的inherit与auto使用分析
一个很显浅的寓言,千年老树,电打雷劈,屹立不倒,却毁于蝼蚁的侵袭之下.自以为精通CSS的人,常常被一些小问题搞到头晕脑胀. 通常是一个很小的数值,经过层层放大歪曲后,整个布局就走形了.CSS是一门很简 ...
- CSS中inherit指定继承的使用方法和auto的区别
CSS中的每个属性都有一个特定值"inherit",其含义是指定继承父元素的相应属性,使用inherit一方面在代码上能地表明要继承于父元素的样式属性,另一方面也使子元素继承了那些 ...
- CSS继承inherit | elementUI NavMenu vertical竖版 加 A标记 外联 不能继承上层color,需要手写下color:inherit;
<li data-v-576b9cf5="" role="menuitem" tabindex="0" class="el- ...
随机推荐
- K8S 中的 CRI、OCI、CRI shim、containerd
哈喽大家好,我是咸鱼. 好久没发文了,最近这段时间都在学 K8S.不知道大家是不是和咸鱼一样,刚开始学 K8S.Docker 的时候,往往被 CRI.OCI.CRI shim.containerd 这 ...
- Mysql-explain之Using temporary和Using filesort解决方案
第一条语句 explainselect * from tb_wm_shop where is_delete != 1 and is_authentication = 1 ORDER BY create ...
- [oeasy]python0010_hello_world_unix_c历史迷因
Hello World! 回忆上次内容 我们这次设置了断点 设置断点的目的是更快地调试 调试的目的是去除 bug 别害怕 bug 一步步地总能找到 bug 这就是程序员基本 ...
- NOIP2023
坐标HA 背景 打完CSP-S后觉得自主招生稳了,就想着NOIP摆烂,所以此游记仅仅是为了凑数. 正文 Day 0 不出所料,机房统一集训,但是在CSP集训后导致的期中挂分的影响下,这一想法被家长以及 ...
- Android Spingboot 实现SSE通信案例
SSE SSE(Server-Sent Events)是一种用于实现服务器主动向客户端推送数据的技术,它基于 HTTP 协议,利用了其长连接特性,在客户端与服务器之间建立一条持久化连接,并通过这条连接 ...
- 【SpringBoot】15 数据访问P3 整合Mybatis
重新建立一个SpringBoot工程 选择依赖组件 然后删除不需要的Maven&Git文件 还是先查看我们的POM文件 整合Mybatis的组件多了这一个,默认的版本是3.5.4 然后再看看整 ...
- Python网络连接request报错:OSError: [Errno 113] No route to host
报错: (pytorch) devil@Monster:~$ huggingface-cli login _| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _ ...
- 这就是为什么你学不会DDD
本文书接上回<为了给Javaer落地DDD,我们不得不写开源组件>,欢迎关注公众号(老肖想当外语大佬),获取最新文章更新和DDD框架源码,视频和直播在B站. https://mp.weix ...
- AtCoder Beginner Contest 310
freee Programming Contest 2023(AtCoder Beginner Contest 310) - AtCoder A - Order Something Else (atc ...
- AtCoder Beginner Contest 313
AtCoder Beginner Contest 313 - AtCoder A - To Be Saikyo (atcoder.jp) 从\(a_1 \dots a_{n-1}\)找出最大值与\(a ...