我正在尝试为带有与其文本颜色相同的阴影的框创建样式。因为我有几个框,每个框都有不同的文本颜色,所以我想避免在每个框的每个单独规则集中重复相同的颜色。
现在,背景和边框模块状态,对于box-shadow
(也适用于text-shadow
):
在哪里
<shadow> = inset? && [ <length>{2,4} && <color>? ]
每个组件的
<shadow>
解释如下:
...
颜色是阴影的颜色。如果颜色不存在,则使用的颜色取自“颜色”属性。1
这意味着,如果您未在给定元素上指定阴影颜色,则所使用的阴影颜色必须取自为该元素计算的文本颜色。这类似于与没有明确颜色的边框相关联的行为,这种行为可以追溯到CSS1并且在CSS2中保持不变。
但是,我知道阴影并非总是如此——以前(直到 2011 年!)选择的颜色由浏览器在 Text 模块和 B&B 模块中决定。事实上,我记得过去的测试表明,一些浏览器选择了black
其他浏览器transparent
(或者完全忽略了阴影样式)。这甚至可能在text-shadow
和之间变化box-shadow
。当然,这是可以理解的,因为如前所述,当时浏览器选择的任何颜色都可以。
但既然定义已经明确,所有浏览器的最新版本也反映了这一变化,我能做些什么来让旧版本效仿吗?我知道我可以多次指定颜色——一次用于文本,一次用于每个阴影——但就像我说的那样,如果可能的话,我想避免这种情况。
1 请注意,在撰写本文时最新的 2012 年中期 WD 中,同一部分的较早声明与此处引用的声明相矛盾,但此处引用的声明是规范的;请参阅此邮件列表线程和已修复此问题的ED 。