带有 CSS 的 IE7 中的背景渐变

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7257170/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-30 01:28:07  来源:igfitidea点击:

background gradients in IE7 with CSS

cssbackgroundinternet-explorer-7gradient

提问by FungyBytes

I am using the following bit of CSS to create a linear background gradient. It seems to work just fine in IE8/9, FF, Safari and chrome but not in IE7. IE7 shows a solid (green) background. Here is my code

我正在使用以下 CSS 来创建线性背景渐变。它似乎在 IE8/9、FF、Safari 和 chrome 中工作得很好,但在 IE7 中却没有。IE7 显示纯色(绿色)背景。这是我的代码

.menu_body a {
  display:block;
  color:#006699;
  background: #008800;
  /* Mozilla: */
  background: -moz-linear-gradient(top, #0b71a4, #025f8e);
  /* Chrome, Safari:*/
  background: -webkit-gradient(linear,
            left top, left bottom, from(#0b71a4), to(#025f8e));
  /* MSIE */
  filter: progid:DXImageTransform.Microsoft.Gradient(
            StartColorStr='#0b71a4', EndColorStr='#025f8e', GradientType=0);
  padding: 1px 18px;
}   

回答by duri

In IE<=7, filters won't work unless element has layout.

在 IE<=7 中,除非元素具有layout ,否则过滤器将不起作用。

zoom: 1;

Be aware that it can break other things, so old good background-imagemight be safe and reliable solution.

请注意,它可能会破坏其他东西,因此旧好background-image可能是安全可靠的解决方案。

Also please note that your CSS lacks gradient properties for Opera, IE10 and updated syntax for Webkit.

另请注意,您的 CSS 缺少 Opera、IE10 的渐变属性和 Webkit 的更新语法。

回答by Kyle

The correct syntax is:

正确的语法是:

filter: progid:DXImageTransform.Microsoft.gradient
(startColorstr=#550000FF, endColorstr=#55FFFF00)

This is supported by IE4>

这是 IE4 支持的>

See the MSDN source here.

请参阅此处的 MSDN 源。

回答by Grant Thomas

I'm unsure if the parameters of this transform are case sensitive - but seeing as most other CSS is, you could try:

我不确定此转换的参数是否区分大小写 - 但与大多数其他 CSS 一样,您可以尝试:

startColorstr='#0b71a4', endColorstr='#025f8e'

Notice the lower-case starting character, and lower-case strsuffix.

注意小写的起始字符和小写的str后缀。