html - 即使显式声明,不透明度声明也是从父级继承的

标签 html css

<分区>

我有以下 CSS

.dropdown-menu {
  background-color: black;
  opacity: 0.6;
  color: white;
}
.dropdown-menu > li {
  background-color: black;
  opacity: 1;
  color: white;
}

当加载 HTML 元素(使用上面的 CSS)时,我从 .dropdown-menu 得到了预期的不透明度集,问题是这个不透明度是在 dropdown- 中继承的menu > li 元素事件,当我在不透明度上使用 !important 声明时。

那么如何克服这个问题(不透明度应该在父元素上保持 0.6)并且在这个子元素上我想要不透明度 1?

最佳答案

不要为父元素使用 opacity,而是以 rgba 格式声明颜色。

.dropdown-menu {
  background-color: rgba(0,0,0,.6);
  color: rgba(255,255,255,.6);   
}

这样,您将保留父元素的不透明度,并且您的子元素的不透明度将为 1。

Browser support同样也很不错。


另外,我在你的问题中读到这个,“问题是这种不透明度是继承的”

不,它不是继承的。

关于html - 即使显式声明,不透明度声明也是从父级继承的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719223/

上一篇:html - 为什么span之前的伪类导致span下移

下一篇:javascript - 在 JavaScript 中检索 CSS 属性然后修改它

相关文章:

html - 浏览器以不同方式呈现相同的 css 文件

html - 疯狂的 CSS 定位

html - 带有 <select> 的 CSS 下拉菜单在 IE 中不可用

html - 一行和水平滚动条上的CSS下拉菜单项

python - 在管理页面的 collectstatic 没有 css 之后

javascript - 在 jQuery 中动画元素时需要一个事件

javascript - 如何高效地创建和附加多个 dom 元素

javascript - JQuery .css() 或 .hover() 中的任何一个都不起作用

javascript - 如何将带有 script 标签的 div 附加到 li 标签中?

javascript - 多次更新 z-index 以使菜单项正确显示