使用不透明度时防止CSS中的新堆叠上下文?[关闭]

mbjcgjjk  于 2023-04-01  发布在  其他
关注(0)|答案(1)|浏览(110)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
我一直在按钮上使用不透明度来指示悬停或活动状态:

button{
  opacity: 0.5;
}

button:active,
button:hover {
  opacity: 1;
}

我的问题是,每当我有一个下拉菜单福尔斯在一个按钮上时,因为不透明度创建了一个新的堆叠上下文,我的按钮都浮在下拉菜单上方。
有没有一种方法可以为元素添加透明度,而不会使它们浮在其他元素上方并创建新的堆栈上下文?似乎filter也会创建新的堆栈上下文。
谢谢

nqwrtyyt

nqwrtyyt1#

示例:

button {
background-color: rgba(0, 0, 0, 0.5); /* 50% opacity */
}

button:hover,
button:active {
background-color: rgba(0, 0, 0, 1); /* 100% opacity */
}

在本例中,使用alpha通道(rgba函数中的最后一个值)而不是opacity属性设置不透明度。alpha通道确定颜色的透明度,值0表示完全透明,值1表示完全不透明。
使用RGBA代替不透明度有助于防止按钮浮动在其他元素上方,因为它不会创建新的堆叠上下文。

相关问题