Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Css <;车身>;背景图像不显示在IE中_Css - Fatal编程技术网

Css <;车身>;背景图像不显示在IE中

Css <;车身>;背景图像不显示在IE中,css,Css,我正在创建一个网站,但在使用InternetExplorer时遇到了一个问题(在ver.8上进行了测试),因为它不能为用户显示背景图像 这是我的代码: body { background: rgb(255,255,255); /* Old browsers */ background-image: url(../images/bg.png); background-image: url(../images/bg.png), -moz-linear-gr

我正在创建一个网站,但在使用InternetExplorer时遇到了一个问题(在ver.8上进行了测试),因为它不能为用户显示背景图像

这是我的代码:

    body {
      background: rgb(255,255,255); /* Old browsers */
      background-image: url(../images/bg.png);
      background-image: url(../images/bg.png), -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(105,205,249,1) 100%); /* FF3.6+ */
      background-image: url(../images/bg.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(105,205,249,1))); /* Chrome,Safari4+ */
      background-image: url(../images/bg.png), -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(105,205,249,1) 100%); /* Chrome10+,Safari5.1+ */
      background-image: url(../images/bg.png), -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(105,205,249,1) 100%); /* Opera 11.10+ */
      background-image: url(../images/bg.png), -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(105,205,249,1) 100%); /* IE10+ */
      background-image: url(../images/bg.png), linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(105,205,249,1) 100%); /* W3C */
      background-repeat: no-repeat;
      background-position: 0 0;
      font-family: Helvetica, Arial, sans-serif;
      font-size: 15px;
}

你知道如何解决这个问题吗?

看看这个小提琴的例子。我不知道你是否想要这样。但它也在IE上工作。检查一下

在这里,我添加了以下行

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#6BCEF9')"; /* IE8 */
检查一下,让我知道。谢谢我找到了这个

它讨论IE8中的背景图像与JS声明冲突。不确定这是否是问题所在。我知道这里不应该有hasLayout问题,但您可能想尝试放置一个display:block;在身体上。您还应该确保主体的大小与其中的内容相适应(即,确保清除浮动等——尽管这很可能是罪魁祸首,但前提是您的bgs在大多数客户机中失败)

我喜欢加边框:1px纯红;围绕着我试图定位或调试的东西。希望对你有所帮助,抱歉,答案不完整


另外,另一种测试方法是在css包含后添加IE条件语句,然后在那里进行处理。

这在IE8上不起作用,-ms linear gradient旨在针对新的IE版本。IE8必须使用过滤器完成,但是你会丢失png,因为它不支持多个bg图像。检查更新的答案。。。!过滤器不在后台声明中,它会这样工作吗?此外,我还看到了ms过滤器选项会在IE9中覆盖背景声明的冲突。我还建议将非基于供应商的定义移到列表的顶部。唯一的原因是,在达到真正的标准之前,您希望特定于供应商的内容盖过非特定于供应商的内容。我在IE9中看到过一个问题,它识别“线性梯度”,但不知道如何解析它,最终没有显示bg。-可能是当时我的特定设置。我更新了下面的答案,请检查。
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#6BCEF9')"; /* IE8 */