如何调用IE CSS渐变属性 – >从Jquery过滤
我一直试图从jquery为IE调用filter css方法,但我不能这样做吗?
我用的是什么?
$('.gtob').mouseover(function(){ $(this).css("background-image","-moz-linear-gradient(100% 100% 90deg, #373737, #000000)"); $(this).css("background-image","-webkit-gradient(linear, 0% 0%, 0% 100%, from(#373737), to(#000000))"); $(this).css("filter","progid:DXImageTransform.Microsoft.gradient( startColorstr='#373737', endColorstr='#000000',GradientType=0)"); });
前两行适用于Firefox,Safari和Chrome,但IE语句没有响应:(
那么,任何人都知道该怎么做?
P:S! 我试过-ms-filter没有任何事情发生
如果你将这些样式移动到样式表中的类,然后为你的鼠标hover做.addClass()
和.removeClass()
,我建议你的代码会更清晰。
您没有指定您正在使用的IE版本,但是对于它的价值, filter
适用于IE6和IE7,但IE8需要-ms-filter
。 后者还要求您转义过滤字符串中的引号。
最后,您可能需要查看CSS3Pie ,它是所有IE版本的黑客,允许它们以更符合标准的方式支持CSS渐变和border-radius。
我认为渐变必须大写?
$('.gtob').mouseover(function(){ $(this).css("background-image","-moz-linear-gradient(100% 100% 90deg, #373737, #000000)"); $(this).css("background-image","-webkit-gradient(linear, 0% 0%, 0% 100%, from(#373737), to(#000000))"); $(this).css("filter","progid:DXImageTransform.Microsoft.Gradient( startColorstr='#373737', endColorstr='#000000',GradientType=0)"); });