我有垂直子菜单,如下:
<div id="dropdown_menu" class="menu">
<ul>
<li> <a>First Link</a></li>
<li> <a>Second Link</a></li>
</ul>
</div>
我在css类'menu'中放置底部背景。在.menu ul中的顶部背景片段。现在,我有一个垂直渐变,从上到下改变颜色(在整个垂直菜单中),因此我不能把它放在.menu ul li中。是否可以添加垂直渐变而不对html进行任何更改?
答案 0 :(得分:7)
#dropdown_menu {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF280C00', endColorstr='#004A1D00'); /* for IE */
background: -webkit-gradient(linear, left top, left bottom, from(#280C00), to(rgba(75, 30, 0, 0))); /* for webkit browsers */
background: -moz-linear-gradient(top, #280C00, rgba(75, 30, 0, 0)); /* for firefox 3.6+ */
}
请参阅此处的实际实现:http://www.salonbelledesoir.com(边缘周围的渐变是CSS渐变。)
这在Opera中不起作用(虽然可能有-o-gradient
属性我不知道。
或者,您可以使用常规背景图像,并相应地重复。
答案 1 :(得分:4)
我个人认为x重复的背景图像是目前最好的解决方案。 过滤器不提供跨浏览器兼容性保证,因此您最好坚持使用旧方法。 以这种方式实现结果的方法是:
.gradient {
background: #xxx url(pathtoimagedirfromcssfile/background.jpg) center top repeat-x;
}
其中#xxx是背景颜色代码,中心和&amp; top是要重复的图像的起始位置