html - 选择背景为 :inherit bug 的选项

标签 html css

当我使用 background:inherit 为某些元素设计页面样式时,我注意到出于某种原因,下拉菜单/选择的选项有时会丢失其背景颜色(在 Google Chrome 上)。我做了一些测试,发现它显然与 select 元素本身是否有父元素有关。

你可以用这个小例子明白我的意思:

<div style="background: blue; margin-bottom: 50px;">
	<select style="background: inherit;">
		<option value="default">Default</option>
		<option value="stitch">Option 1</option>
	</select>
</div>

<div style="background: blue; margin-bottom: 50px;">
	<div>
		<select style="background: inherit;">
			<option value="default">Default</option>
			<option value="stitch">Option 1</option>
		</select>
	</div>
</div>

当您现在单击打开两个下拉菜单时,我希望它们都具有蓝色背景色。然而,这是我得到的结果(合并图像以便于比较)

dropdowns have different colors

我想知道这是否是继承值工作的预期方式,以及为什么它会以这种方式工作。

最佳答案

这里的继承值是元素的直接父属性 第二个下拉 div 没有任何背景颜色,默认的白色背景应用于选择。

代码示例 - https://codepen.io/nagasai/pen/NBqeOg?editors=1010

我创建了另一个具有不同背景的 div 并选择继承

<div style="background: blue; margin-bottom: 50px;">
	<select style="background: inherit;">
		<option value="default">Default</option>
		<option value="stitch">Option 1</option>
	</select>
</div>

<div style="background: blue; margin-bottom: 50px;">
	<div>
		<select style="background: inherit;">
			<option value="default">Default</option>
			<option value="stitch">Option 1</option>
		</select>
	</div>
</div>

<div style="background: blue; margin-bottom: 50px;">
	<div style="background: red;">
		<select style="background: inherit;">
			<option value="default">Default</option>
			<option value="stitch">Option 1</option>
		</select>
	</div>
</div>

关于html - 选择背景为 :inherit bug 的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51314527/

相关文章:

javascript - 使用 Javascript 或 WYSIWYG 打开和编辑 html 页面的片段

css - 未配对的 <form> 标签

html - 带滚动条的 div 减少内容宽度

javascript - 使用 JavaScript getElementById 定位 CSS

javascript - 使用 dojo 的 jsfiddle 不明原因不拾取样式

jquery - 如何测试移动 webkit

javascript - 查看页面时根据用户权限删除或隐藏 html 链接

css - 如何将线性渐变应用于输入边框?

css - 使 flex 元素超过(大于)flex 容器

css - 在图像加载完成之前将 Nivo Slider 高度设置为正确的(最终)值