我的问题是由于图像顶部有背景渐变造成的。
如何添加其他属性,例如-webkit,-o,使其在其他浏览器中工作
div{
background:
linear-gradient(
rgba(0, 0, 0, 0.2),
rgba(0, 0, 0, 0.8)
),
url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg');
}
http://jsbin.com/rovini/1/edit?html,css,output
修改
如果我添加像这样的供应商前缀:
div{
background:
-mox-linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8)),
-webkit-linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8)),
-o-linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8)),
linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8)),
url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg');
}
不起作用
答案 0 :(得分:0)
div {
background: -webkit-linear-gradient(left,rgba(0,0,0,0.2),rgba(0,0,0,0.8)); /*Safari 5.1-6*/
background: -o-linear-gradient(right,rgba(0,0,0,0.2),rgba(0,0,0,0.8)); /*Opera 11.1-12*/
background: -moz-linear-gradient(right,rgba(0,0,0,0.2),rgba(0,0,0,0.8)); /*Fx 3.6-15*/
background: linear-gradient(to right,rgba(0,0,0,0.2),rgba(0,0,0,0.8)); /*Standard*/
}
您可以查看w3schools的完整示例。请记住将标准语法放在最后。
答案 1 :(得分:0)
您需要的是vendor prefixes。这些允许支持css3功能,这些功能在浏览器中一般尚未应用。
简单的语法是:-prefix
后跟-property-name
在你的情况下,它将是:
-webkit-linear-gradient(...)
-moz-linear-gradient(...)
-ms-linear-gradient(...)
-o-linear-gradient(...)
linear-gradient(...)
webkit
用于safari和chrome,moz
用于Firefox,ms
用于IE,o
用于Opera。但最近,webkit
。最后一个没有任何前缀的是该功能将来可能获得跨平台支持。
你需要将它们与dom元素的其他css规则一起使用,即,如果你正在为id为木瓜的div
编写css:
div#papaya{
color: ...;
font-size: ...;
-webkit-linear-gradient(...);
-moz-linear-gradient(...);
-ms-linear-gradient(...);
-o-linear-gradient(...);
linear-gradient(...);
/*any other properties*/
}
答案 2 :(得分:0)
你可以用它。的 JSFIDDLE 强>
div{
height:100%;
width:100%;
background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,.2)), to(rgba(0,0,0,.8))),url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg'); /* Saf4+, Chrome */
background: -webkit-linear-gradient(top, rgba(0,0,0,.2), rgba(0,0,0,.8)),url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg'); /* Chrome 10+, Saf5.1+ */
background: -moz-linear-gradient(top, rgba(0,0,0,.2), rgba(0,0,0,.8)),url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg'); /* FF3.6+ */
background: -ms-linear-gradient(top, rgba(0,0,0,.2), rgba(0,0,0,.8)),url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg'); /* IE10 */
background: -o-linear-gradient(top, rgba(0,0,0,.2), rgba(0,0,0,.8)),url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg'); /* Opera 11.10+ */
background: linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.8)),url('http://www.nhm.ac.uk/resources-rx/images/1007/women-artists-peach-banner_128346_2.jpg'); /* W3C */
}
答案 3 :(得分:0)
这只是分组多个背景属性的简便方法:
background: url('cats.jpg'), #000000;
等同于
background-image: url('cats.jpg');
background-color: #000000;
我最初写的内容不起作用,因为浏览器查看了'background'属性,无法理解我使用过的值(供应商前缀)。
不幸的是,因为我在图像上堆叠渐变,所以供应商前缀不能全部包含在一个对背景的引用中。因此,像Vlada903所说,供应商前缀需要在他们自己的背景参考中,因此浏览器可以扫描每个,然后找到它能够理解和使用的那个。