设置菜单不透明度,但在 CSS 中保持文本不透明
如何创建一个只有背景透明的菜单?文本应保持不透明(不透明度:1)
如果我设置
li:hover {
opacity: 0.5
}
整个列表项变得透明。我该如何解决这个问题?
How can I create a menu which only its background is transparent? The text should keep opaque (opacity: 1)
If I set
li:hover {
opacity: 0.5
}
The whole list item becomes transparent. How do I fix that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
CSS3 中有一个名为“rgba”的新值,允许您使用透明颜色作为背景颜色。例如:
我相当确定这应该可行,尽管我只是当场编写了代码,所以它可能不会。然而,这会给你的菜单带来白色的色调。不过,如果您想了解有关 RGBA 的更多信息,请访问此处:http://css-tricks。 com/rgba-browser-support/
There is a new value in CSS3 called "rgba" that allows you to use a transparent color as a background color. For instance:
I'm fairly sure that should work, though I just wrote the code on the spot so it may not. This will, however, give your menu a white-ish tinge to it. If you want to read more about RGBA, though, go here: http://css-tricks.com/rgba-browser-support/
您需要使用透明 PNG 图像或
rgba
颜色value,用于的背景,例如:
或者:
You’ll need to use either a transparent PNG image, or an
rgba
colour value, for the<li>
’s background, e.g.:Or:
我不认为这是可能的,试试这个例子: http://jsfiddle.net/578SV/
I don't think, that's possible, try this example: http://jsfiddle.net/578SV/
你不能。透明度级别传递给所有子元素。
您的选择:
将另一个元素放置在
li
顶部,可能使用具有正常不透明度设置的position:absolute
使用具有 Alpha 透明度的 PNG 文件来创建不透明度效果(需要解决方法在 IE6 中工作)
使用新的
rgba
颜色属性,如 @hatkirby 所示,如果您可以接受不完整的浏览器支持You can't. The transparency level gets handed down to all child elements.
Your options:
Place another element on top of the
li
, possibly usingposition: absolute
, that has a normal opacity settingUse a PNG file with Alpha transparency to create the opacity effect (Will need workarounds to work in IE6)
Use the new
rgba
colour property as shown by @hatkirby, if you can live with the incomplete browser support