下拉菜单<li>悬停更改背景图片</li>

时间:2013-11-12 20:38:27

标签: css menu background hover html-lists

我有一个下拉菜单,我希望每个主菜单标签在用鼠标悬停在其上时更改为特定图像。

ul {list-style: none;padding: 0px;margin: 0px;}
ul li {display: block;position: relative;float: left;}
li ul {display: none;}
ul li a {display: block; text-decoration: none; color: #fff;}
ul li a:hover {}
li:hover ul {display: block; position: absolute;}
li:hover li {float: none;}
li:hover a {background-image:url(rf3.gif);}
li:hover li a:hover {background: #fec96b; color:#fff;}

<ul>
<li><a href="#">Support</a></li>
<li><a href="#">Web Design</a>
<ul>
<li><a href="#">HTML</a></li>
</ul>
</li>
<li><a href="#">Content Management</a>
<ul>
 <li><a href="#">Joomla</a></li>
</ul>
</li>
</ul>

我希望像“支持”和“网页设计”这样的标签更改为每个独特的图片 - 它们是不同的。

我尝试在ex。

中添加一个类
<li class="hover"><a href="#">Support</a></li>

但没有成功。

2 个答案:

答案 0 :(得分:2)

为这两个列表项指定一个唯一的类名,然后为它们指定适当的CSS。

CSS:

ul {list-style: none;padding: 0px;margin: 0px;}
ul li {display: block;position: relative;float: left;}
li ul {display: none;}
ul li a {display: block; text-decoration: none; color: #fff;}
ul li a:hover {}
li:hover ul {display: block; position: absolute;}
li:hover li {float: none;}
li:hover a {background-image:url(rf3.gif);}
li:hover li a:hover {background: #fec96b; color:#fff;}
li.support > a:hover { background-url(path_to_image_for_support.png); }
li.web-design > a:hover { background-url(path_to_image_for_web_design.png); }

HTML:

<ul>
<li class="support"><a href="#">Support</a></li>
<li class="web-design"><a href="#">Web Design</a>
<ul>
<li><a href="#">HTML</a></li>
</ul>
</li>
<li><a href="#">Content Management</a>
<ul>
 <li><a href="#">Joomla</a></li>
</ul>
</li>
</ul>

答案 1 :(得分:1)

使用Javascript。而不是类,使用“ID”并为每个分配一个数字。然后创建一个使用:

的Javscript函数
document.getElementById('[line number]').style.backgroundColor = "[desired background color]";

完成。