css - 背景透明度影响文本

标签 css transparency

在我的网站上,我有一个 slider ,上面放置了一些文本。我给文本设置了黑色透明背景,这样会更容易阅读。

enter image description here

正如你所看到的,这正是我想要达到的效果。但由于某种原因,我的 CSS 确实也通过它的不透明度过滤器影响了文本......
文本不再是 100% 白色。有没有办法覆盖这种 CSS 行为?

编辑:应该支持 IE8...

这是我的 CSS:

.front-slider-body {
  background-color: #000;
  zoom: 1;
  filter: alpha(opacity=50);
  opacity: 0.5;
}

最佳答案

那是因为整个元素不透明度都已更改,而不仅仅是背景。

如果您只希望 background-color 不透明,请使用 rgba 而不是十六进制代码来更改该属性的不透明度:

background-color: rgba(0,0,0, 0.5);

全类:

.front-slider-body {
  background-color: rgba(0,0,0, 0.5);
  zoom: 1;
}

下面显示了支持此功能的浏览器列表:

http://caniuse.com/#search=rgba

如果您需要支持旧版浏览器,那么我建议创建一个 1px*1px 半透明图像并将其用作背景图像。它并不整洁,但它是旧浏览器的解决方案。

关于css - 背景透明度影响文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498081/

相关文章:

android - 在 Android 中用透明颜色填充 Canvas

silverlight - 如果不透明度小于 1,透明度不会更透明

python pygame设置颜色透明度

html - 背景透明度问题

html - 如何保持:active css style after click a button

CSS 拉伸(stretch)到可用宽度

javascript - div .slideUp 可以不点击吗

html - 为什么元素被放置在下面?

html - HTML 中的文本缩进

c++ - Direct2D - 模拟颜色键控透明位图