2011-04-20 61 views
8

为了有一个元素上一个渐变背景我做这样的事情:jQuery的CSS梯度

.css('filter','progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#FFFFFF\', endColorstr=\'#'+event.backgroundColor+'\', gradientType=1)') 
.css('background-image','-webkit-gradient(linear, left top, right bottom, color-stop(0.1, #FFFFFF), color-stop(0.99, #'+event.backgroundColor+'))') 
.css('background-image','-moz-linear-gradient(top left, #FFFFFF 0%, #'+event.backgroundColor+' 100%)') 
.css('background-image','-o-linear-gradient(top left, #FFFFFF 0%, #'+event.backgroundColor+' 100%)') 

现在,是不是jQuery的假设,以消除所有相关的跨浏览器兼容性问题的工作?有没有更好的方法来做到这一点。没有使用任何额外的插件?

+3

jquery将消除/减少js相关的跨浏览器问题,它不会解决你的css跨浏览器问题。至于我所知道的jQuery不会为你解决这个问题。 – Michael 2011-04-20 19:24:51

+0

您可以在样式表中定义所有这些。不知道你为什么要使用jQuery,除非你需要动态地做这件事。 – 2011-04-20 19:25:24

+1

请勿使用“background-image:” - 使用“background:”。 – 2011-04-20 19:25:50

回答

8

有一个jQuery插件用于使用渐变。我从来没有使用它,但它看起来很简单

http://plugins.jquery.com/project/gradient

继承人如何使用它:

http://www.julien-verkest.fr/13/11/2007/jquery-gradient-le-plugin-qui-permet-de-creer-dynamiquement-des-backgrounds-degrades

或者你可以使用使用Gradientz

http://jquerystyle.com/2009/08/06/gradientz

Gradientz外观甚至更完整和易于使用。祝你好运哥们。

+1

Gradientz看起来像一个不错的插件:) – Michael 2011-04-20 19:43:13

+1

它将不得不找到一个项目来尝试它! jQuery社区非常棒,有很多非常棒的插件。 – 2011-04-20 19:46:38

+1

当然可以!并且它每天都在增长:) – Michael 2011-04-20 19:47:30

4

没有。 jQuery没有供应商前缀的本地实现。也不太令人意外; jQuery是一个JavaScript库,设计用于制作JavaScript跨浏览器。

检出CSS3 Finalize为插件。