我正在使用<ul>
and<li>
元素创建一个类似于选项卡的功能,并且我注意到 CSS 的这种意外行为background-color: inherit
。
人们会期望这inherit
实际上并不意味着transparent
,而是child.background-color == parent.background-color
(请原谅伪代码)。
我的代码很简单,但我有一个问题:我正在为可变条件进行开发。这意味着我永远无法知道我的代码将使用什么背景颜色,我也不想介绍我自己的。
我准备了一个JSFiddle,其中背景是在页面加载时随机设置的,以模仿我的代码目标的随机性。明显的问题是活动选项卡的背景颜色预设看起来很糟糕。所以,我把它改成了background-color: inherit
. (见JSFiddle 2)
虽然这显然解决了背景问题,但 ( ) 下面的元素的边框cg_content
再次开始显示,因为inherit
属性的行为类似于transparent
,而不是设置背景颜色时的行为。
问题是:有没有办法让它在没有 Javascript 的情况下继承实际的背景颜色?
如果没有,您能否建议一种更好的方法来使这些标签在没有预设颜色的情况下看起来不错?
PS:内容<div>
不应该是元素的子<li>
元素,因为这些选项卡共享一些内容。
PS2:我不能说得更清楚,我显然知道如何用 JS 做到这一点。我只是不想。