当前位置:  开发笔记 > 前端 > 正文

Internet Explorer中的渐变颜色

如何解决《InternetExplorer中的渐变颜色》经验,为你挑选了5个好方法。

我知道Internet Explorer有一些专有扩展,因此您可以执行创建具有渐变背景的div的操作.我记不起元素名称或它的用法.有没有人有一些例子或链接?



1> Blowsie..:

我用于所有浏览器渐变的代码:

background: #0A284B;
background: -webkit-gradient(linear, left top, left bottom, from(#0A284B), to(#135887));
background: -webkit-linear-gradient(#0A284B, #135887);
background: -moz-linear-gradient(top, #0A284B, #135887);
background: -ms-linear-gradient(#0A284B, #135887);
background: -o-linear-gradient(#0A284B, #135887);
background: linear-gradient(#0A284B, #135887);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0A284B', endColorstr='#135887');
zoom: 1;

您需要指定一个高度或zoom: 1应用于hasLayout该元素,以便在IE中工作.


更新:

这是一个LESS Mixin(CSS)版本,适用于所有LESS用户:

.gradient(@start, @end) {
    background: mix(@start, @end, 50%);
    filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorStr="@start~", EndColorStr="@end~")";
    background: -webkit-gradient(linear, left top, left bottom, from(@start), to(@end));
    background: -webkit-linear-gradient(@start, @end);
    background: -moz-linear-gradient(top, @start, @end);
    background: -ms-linear-gradient(@start, @end);
    background: -o-linear-gradient(@start, @end);
    background: linear-gradient(@start, @end);
    zoom: 1;
}


完美的渐变片段.zoom:1是回答这个问题的关键.
@Blowsie与边框半径结合使用时,我遇到渐变问题.因为背景有效地偏离了角落.显然取决于所选择的颜色范围,背景填充角落.在IE中处理边界半径和背景渐变是否有技巧?

2> Nick..:

看一下IE可以处理的自定义CSS过滤器 http://msdn.microsoft.com/en-us/library/ms532847.aspx



3> James Lawruk..:

filter样式适用于IE8和IE9.

.gradientClass
{
  filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#e6e6e6', endColorstr='#CCCCCC');       
}



4> Jonathan Mof..:

在IE中渐变的一个重要问题是虽然你可以使用微软的过滤器......

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCCA6D', endColorstr='#FEFEFE');
zoom:1;

...它们会在渐变所覆盖的任何文本上删除清晰类型.鉴于渐变的目的通常是为了让UI看起来更好,这对我来说是个显示器.

因此,对于IE,我使用重复的背景图像.如果背景图像css与其他浏览器的渐变CSS结合使用(根据Blowsie的回答),其他浏览器将忽略背景图像而支持渐变css,因此它最终只会应用于IE.

background-image: url('/Content/Images/button-gradient.png');

您可以使用大量网站快速生成渐变背景; 我用这个.



5> thezar..:

Microsoft的强大工具,允许您实时检查颜色并为所有浏览器生成CSS:http: //ie.microsoft.com/testdrive/graphics/cssgradientbackgroundmaker/default.html

/* IE10 */ 
background-image: -ms-linear-gradient(top, #FFFFFF 0%, #B7B8BD 300%);

/* Mozilla Firefox */ 
background-image: -moz-linear-gradient(top, #FFFFFF 0%, #B7B8BD 300%);

/* Opera */ 
background-image: -o-linear-gradient(top, #FFFFFF 0%, #B7B8BD 300%);

/* Webkit (Safari/Chrome 10) */ 
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FFFFFF), color-stop(3, #B7B8BD));

/* Webkit (Chrome 11+) */ 
background-image: -webkit-linear-gradient(top, #FFFFFF 0%, #B7B8BD 300%);

/* Proposed W3C Markup */ 
background-image: linear-gradient(top, #FFFFFF 0%, #B7B8BD 300%);

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有