如何用css实现鼠标移入时与鼠标移出时颜色相同,不使用js,,,急用,谢谢啊!

<div>

<ul class="nav">
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单二</a></li>
<li><a href="#">菜单三</a></li>
</ul>
</div>

假如鼠标没有移入时,菜单背景为红色,,鼠标移入时变成蓝色,移出时也一直为蓝色,,不使用js ,只用css实现,求高手帮忙,谢谢!

1、新建一个html文件,命名为test.html。

2、在test.html文件中,使用div标签创建一个模块,并设置其id属性为tid,下面将通过该id设置其css样式。

3、在css标签内,对div进行样式设置,使用width属性设置div的宽度为200px,使用height属性设置div的宽度为20px,使用background属性设置div的背景颜色为红色。

4、在css标签内,再定义一个类名为newbg的样式,使用background属性设置背景颜色为黄色。

5、在test.html文件中,给div绑定onmouseover鼠标移动事件,当鼠标移动至div时,执行myfun()函数。

6、在test.html文件中,在js标签内,创建一个myfun()函数,在函数内,使用getElementById()获得div对象,通过className(newbg)设置div的新背景颜色。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-16
菜单背景为红色,,鼠标移入时变成蓝色,移出时也一直为蓝色 纯CSS是不可能是实现的追问

那使用js怎么实现呢?

追答

给 ul 加 id=“js-nav” ,js代码:(置于前)

(function(){
var nav = document.getElementById("js-nav");
nav.getElementsByTagName("a").onmouseover = function(){
this.style.backgroundColor="#99cc66";
}
})();

第2个回答  2013-07-17
你一开始是红色的,移入是蓝色的,移出是蓝的。这个好像要用js吧。要是移出也是红色的就好做了
第3个回答  2017-07-11
不用js好像不能实现吧,鼠标就下面几种状态了
link,正常状态
visited,鼠标点击后再次停留在上面的状态
hover,鼠标经过的状态
active 按下鼠标时的状态
第4个回答  2013-07-17
显然你这个效果普通css是无法达到这个效果的,如果在a上加hover事件。那A移开后也会恢复原来的颜色,并不能达到你移开不变色的效果。这个时候就需要css里的另外一种方法来做了,那就是css里的expression表达式,但是并不建议用这个,因为这个比较卡浏览器。而且只有IE支持。所以还是放弃不用JS来实现的念头吧。追问

请问使用js怎么实现?

追答<style type="text/css">
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
ul li{list-style-type:none;}
.nav{ height:35px; line-height:35px; background-color:#ff0000;}
.nav li{ float:left; margin-right:1px; height:35px;}
.nav li a{ padding:0 15px; display:block;}
</style>
<ul class="nav">
  <li><a href="#" onmouseover="this.style.backgroundColor='#0000ff';this.style.color='#fff'">菜单一</a></li>
  <li><a href="#" onmouseover="this.style.backgroundColor='#0000ff';this.style.color='#fff'">菜单二</a></li>
  <li><a href="#" onmouseover="this.style.backgroundColor='#0000ff';this.style.color='#fff'">菜单三</a></li>
 </ul>

简单点就象这样写在a里面,试试吧

相似回答