Gradient background is not working with Chrome

家住魔仙堡 提交于 2020-01-17 02:53:13

问题


Hello I am using following code that works fine with Firefox, but does not work in Chrome.

background: -moz-linear-gradient(center top , #CAF579, #73CA08) repeat scroll 0 0 transparent;

I used WebKit also, but still it's not working.


回答1:


Each browser has different syntax for gradient backgrounds. This code should cover the most widely used browsers:

#gradient {
    /* For WebKit (Safari, Google Chrome etc) */
    background: -webkit-gradient(linear, left top, right bottom, from(#CAF579), to(#73CA08));
    /* For Mozilla/Gecko (Firefox etc) */
    background: -moz-linear-gradient(left top, #CAF579, #73CA08);
    /* For Internet Explorer 5.5 - 7 */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CAF579FF, endColorstr=#73CA08FF);
    /* For Internet Explorer 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#CAF579FF, endColorstr=#73CA08FF)";
}

You can see more here: http://robertnyman.com/2010/02/15/css-gradients-for-all-web-browsers-without-using-images/




回答2:


 background: -webkit-linear-gradient(top , #CAF579, #73CA08) repeat scroll 0 0 transparent;



回答3:


For chrome you would have to use -webkit-gradient instead of -moz-linear-gradient. Note that it also has a different syntax, e.g. something like this:

background: -webkit-gradient(linear, center top, center bottom , from(#CAF579), to(#73CA08)) repeat scroll 0 0 transparent;

See this page for more examples: http://webdesignerwall.com/tutorials/cross-browser-css-gradient




回答4:


Some versions (new versions) of chrome identify the standard syntax instead of -webkit i.e

background: linear-gradient(center top , #CAF579, #73CA08) repeat scroll 0 0 transparent; 

So you should always include this with combination to -moz and -webkit (for compatibility with older versions) like:

background: -moz-linear-gradient(center top , #CAF579, #73CA08) repeat scroll 0 0 transparent; 
background: -webkit-linear-gradient(center top , #CAF579, #73CA08) repeat scroll 0 0 transparent;
background: linear-gradient(center top , #CAF579, #73CA08) repeat scroll 0 0 transparent;

check this link for more information.




回答5:


CSS gradients have a bit complicated syntax.

There are 5 of different syntaxes - 4 deprecated ones (old ie filter, newer ie -ms-filter, old webkit -webkit-gradient, newer mozilla -moz-linear-gradient (plus a set of vendor prefixes to work with different browsers (-moz-, -webkit-, -ms-, -o-)) and unprefixed standard linear-gradient (which has major difference from previous versions in handling gradient angles).

In your case, for Google Chrome you need to add -webkit-linear-gradient to your css. Plus, unprefixed version, because its expected, that Chrome and Safari will support standard syntax soon.

Refer to MDN for details: https://developer.mozilla.org/en-US/docs/CSS/linear-gradient



来源:https://stackoverflow.com/questions/12703149/gradient-background-is-not-working-with-chrome

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!