Html 如何在IE8中使用CSS不透明度让背景渗透?
我有一个带有粉红色背景图像的HTML页面。我想在页面上为文本定义一个DIV,但我希望DIV中的背景显示得更苍白,几乎是白色。我试过这个,但在IE8上似乎不起作用 我的HTMLHtml 如何在IE8中使用CSS不透明度让背景渗透?,html,css,Html,Css,我有一个带有粉红色背景图像的HTML页面。我想在页面上为文本定义一个DIV,但我希望DIV中的背景显示得更苍白,几乎是白色。我试过这个,但在IE8上似乎不起作用 我的HTML <html> <head> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body> <div class="div1"> testing <
<html>
<head>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="div1">
testing
</div>
</body>
</html>
有什么想法吗?您必须记住的是,不透明度属性将影响整个元素的不透明度,包括其文本/子元素。如果你只想影响背景,你需要用不同的方式来处理它 您可以将RGBA用于现代浏览器:
.div1 {
background-color: rgba(255,255,255, .4);
}
然后,在单独的IE样式表中(使用条件注释或类似方法):
您需要制作一张PNG-24图像,1px x 1px,它只是将白色降低到40%的不透明度。这将在IE7和IE8中起作用。您应该将
zoom:1
声明添加到.div1
块。如果您使用普通(纯色)作为背景,那么我建议您只使用较淡的粉红色作为DIV
这将产生不透明的错觉。更重要的是,某些浏览器不会出现问题。无需使用单独的仅限IE的样式表。你可以使用普通的。没错,你不需要,但由于我正在从事的大多数项目往往需要IE中的其他修复,我通常都有一个单独的IE样式表。我就是这样滚的。另一个很好的选择是使用并瞄准.no rgba类。谢谢,问题是主背景上有一个漂亮的圆点图案,我想通篇看到。如果我在DIV中使用带有点的浅色版本,则点不会对齐,因此如果我接受你的建议,我必须在情感上接受我丢失点的事实。:)这有什么用?我添加了它,没有看到任何更改。@RobertHume IE8默认情况下支持
不透明度属性,但根据您的HTML,我发现您没有指定DOCTYPE,因此IE以怪癖模式呈现页面。此解决方案应修复怪癖模式以及旧IEs的不透明度。它确实是基于这个fiddle得到修复的:。我看到它在JSFIDLE中工作——但我无法让它在本地工作——我将它添加到我的html页面:并添加了缩放:1;对于css——我遗漏了什么?@RobertHume只是一些解释。正如我所提到的,如果存在doctype,IE8确实支持opacity
属性,但是您错误地指定了后者-您应该只在HTML文件的最顶端有
行,而不要添加
行。这将解决您的问题,而无需zoom:1代码>用于IE8。但是,如果您的本地文件在网络上,IE8仍然倾向于以“怪癖”模式打开它们,如果您试图查看它们的外观,这是令人恼火的<代码>缩放:1
应该解决这种情况下的问题,以及旧版IE的问题-你确定你添加的正确吗?删除了-奇怪的是它仍然不起作用。这些文件位于本地计算机上的文件夹中。哦,好吧,这太花时间了,谢谢IE,我只需要为div背景制作一个单独的图像。@sinsedrix问题是在IE8上div背景是纯白色的。(在Firefox中工作,背景图像会从中溢出。)
.div1 {
background-color: rgba(255,255,255, .4);
}
.div1 {
background: transparent url(white_trans.png);
}