Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 背景色继承自值未定义的元素_Css - Fatal编程技术网

Css 背景色继承自值未定义的元素

Css 背景色继承自值未定义的元素,css,Css,我有一个DOM树,其中父级有一个背景色属性集。我希望该父级的子级继承该背景色,但它从其第一个父级继承。第一个父节点没有背景颜色集,使子节点的背景透明 我知道我可以通过在CSS中显式声明背景色来解决这个问题,但我希望用户能够在主父级上设置背景色和颜色,并使其正确级联。另外,这是一种非常奇怪的行为,所以我很好奇是否有人知道为什么会这样,或者如何解决它 我把它们放在一起说明这个问题。我希望span有一个红色背景,黄色div用于说明span实际上没有红色背景。这是绝对正常的行为。span的父元素不是ul

我有一个DOM树,其中父级有一个
背景色
属性集。我希望该父级的子级继承该
背景色
,但它从其第一个父级继承。第一个父节点没有背景颜色集,使子节点的背景透明

我知道我可以通过在CSS中显式声明背景色来解决这个问题,但我希望用户能够在主父级上设置
背景色
颜色
,并使其正确级联。另外,这是一种非常奇怪的行为,所以我很好奇是否有人知道为什么会这样,或者如何解决它


我把它们放在一起说明这个问题。我希望span有一个红色背景,黄色div用于说明span实际上没有红色背景。

这是绝对正常的行为。
span
的父元素不是
ul
元素,而是“祖父”。因此,如果
li
没有从
ul
继承某些内容,
span
也不会继承。

ul>li的
背景色设置为
继承
,这样
ul
也会从
ul
继承,而
ul:span第一个孩子继承自
ul>li


那么您是否希望“跨度”应为红色?是的,没错。我将把它添加到问题中,嗯,也许吧,但是在主父级(ul)上设置color属性会使颜色级联通过所有子级。但我想这是因为每个元素的默认浏览器样式都是这样的<代码>颜色:继承
背景色:透明它不会使它级联到所有子级。是的,但他需要做的是将
span:first child
背景色设置为
inherit
。如果您将其设置为
ul>li
,您将强制整个
li
(每次出现)与其父项具有相同的背景(我们希望避免)。