定制财产脑扭曲
I am part of that 82% that got it wrong in Lea’s quiz (tweet version).
Here’s the code:
:root { --accent-color: skyblue; } div { --accent-color: revert; background: var(--accent-color, orange); }
So what background do I expect
My brain goes like this:
- Well, --accent-color is declared, so it’s definitely not orange (the fallback).
- The value for the background is revert, so it’s essentially background: revert;
- The background property doesn’t inherit though, and even if you force it to, it would inherit from the , not the root.
- So… transparent.
Nope.
Lea:
[Because the value is revert it] cancels out any author styles, and resets back to whatever value the property would have from the user stylesheet and UA stylesheet. Assuming there is no--accent-colordeclaration in the user stylesheet, and of course UA stylesheets don’t set custom properties, then that means the property doesn’t have a value.
Since custom properties are inherited properties (unless they areregisteredwithinherits:false, but this one is not), this means the inherited value trickles in, which is — you guessed it —skyblue.
Stephen posted a similar quiz the other day:
Again, my brain does it totally wrong. It goes:
- OK, well, --color is declared, so it’s not blue (the fallback).
- It’s not red because the second declaration will override that one.
- So, it’s essentially like p { color: inherit; }.
- The
will inherit yellow from the
, which it would have done naturally anyway, but whatever, it’s still yellow.
Nope.
Apparently inherit there is actually inheriting from the next place up the tree that sets it, which html does, so green. That actually is how normal inheriting works. It’s just a brain twister because it’s easy to conflate color the property with --color the custom property.
It also might be useful to know that when you actually declare a custom property with @property you can say whether you want it to inherit or not. So that would change the game with these brain twisters!
@property --property-name { syntax: '<color>'; inherits: false; initial-value: #c0ffee; }
以上是定制财产脑扭曲的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...
