Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在IE8中使用CSS不透明度让背景渗透?_Html_Css - Fatal编程技术网

Html 如何在IE8中使用CSS不透明度让背景渗透?

Html 如何在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页面。我想在页面上为文本定义一个DIV,但我希望DIV中的背景显示得更苍白,几乎是白色。我试过这个,但在IE8上似乎不起作用

我的HTML

<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);
 }