创建跨浏览器背景渐变

时间:2014-10-05 20:03:41

标签: html css background gradient

也许是个愚蠢的问题,但我需要一些帮助 我正在创建一个网站,我注意到这个代码用于背景渐变

background: -webkit-gradient(linear, left top, left bottom, from(rgba(180, 180, 180, 0)), to(#E7E7E7));
仅适用于谷歌浏览器,在其他浏览器中它看起来不像我想要的,所以任何人都有一些建议吗?

Check demo on fiddle

2 个答案:

答案 0 :(得分:3)

标准语法是

linear-gradient(to right, rgba(180, 180, 180, 0), #E7E7E7);



body {
  background-image: linear-gradient(to right, rgba(180, 180, 180, 0), #E7E7E7);
}




根据MDN,跨浏览器代码将是

background-color: #E7E7E7; /* fallback color if gradients are not supported */
background-image: -webkit-linear-gradient(left, rgba(180, 180, 180, 0), #E7E7E7); /* For Chrome 25 and Safari 6, iOS 6.1, Android 4.3 */
background-image:    -moz-linear-gradient(left, rgba(180, 180, 180, 0), #E7E7E7); /* For Firefox (3.6 to 15) */
background-image:      -o-linear-gradient(left, rgba(180, 180, 180, 0), #E7E7E7); /* For old Opera (11.1 to 12.0) */ 
background-image:         linear-gradient(to right, rgba(180, 180, 180, 0), #E7E7E7); /* Standard syntax; must be last */

答案 1 :(得分:1)

您需要为所有浏览器添加前缀。

对于此示例,请使用:

background: #b4b400; /* Old browsers */
background: -moz-linear-gradient(top,  #b4b400 0%, #e7e7e7 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b4b400), color-stop(100%,#e7e7e7)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #b4b400 0%,#e7e7e7 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #b4b400 0%,#e7e7e7 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #b4b400 0%,#e7e7e7 100%); /* IE10+ */
background: linear-gradient(to bottom,  #b4b400 0%,#e7e7e7 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b4b400', endColorstr='#e7e7e7',GradientType=0 ); /* IE6-9 */

您可以在同一个生成器上创建包含所有前缀的渐变,例如:

http://www.colorzilla.com/gradient-editor