您的位置:首页 > CSS技巧 > 【 返回上一页

不使用hover外部CSS样式实现hover鼠标悬停改变样式

不能使用外部CSS样式实现hover鼠标悬停改变样式

DIV+CSS网页布局中,有时我们不能直接使用外部CSS样式控制DIV样式,比如对a设置a:hover样式。

可以使用onMouseOver(鼠标移到目标上)和onMouseOut(鼠标移开目标后)实现对a标签或其它html标签设置hover样式。

直接对标签使用即可,无论A标签SPAN标签DIV标签等均可。

  1. <a href="http://www.thinkcss.com/" style="color:#00F; text-decoration:none"
     onMouseOver="this.style.color='#F00';this.style.textDecoration='underline'" 
    onMouseOut="this.style.color='#00F';this.style.textDecoration='none'">ThinkCSS</a> 

以上对a超链接代码设置默认样式、鼠标移到目标上、鼠标移开目标后样式。特点代码比较长。

ThinkCSS重要提示说明:为了看到鼠标移开后与默认样式相同,通常需要直接对标签使用style设置默认CSS样式并且与onMouseOut设置CSS样式保持相同。以免初始状态对象样式与鼠标移开对象后样式的不同。

如上代码:

  1. style="color:#00F; text-decoration:none"  

  1. onMouseOut="this.style.color='#00F';this.style.textDecoration='none'" 

设置默认字体颜色#00F与不显示下划线

通过常规hover与不用外部hover实现hover样式设置方法案例如下

1、完整常规外部CSS案例展示代码:

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>ThinkCSS实例</title> 
  6. <style> 
  7. .abc a{ color:#00F; text-decoration:none} 
  8. /* 默认abc盒子里超链接文字字体颜色为蓝色 没有下划线 */ 
  9.  
  10. .abc a:hover{ color:#F00; text-decoration:underline} 
  11. /* 鼠标悬停abc盒子里超链接文字上后字体颜色为红色 出现下划线 */ 
  12.  
  13. .bb{ color:#00F} 
  14. .bb:hover{ color:#F00; font-weight:bold} 
  15. /* 直接对bb对象盒子设置hover */ 
  16. </style> 
  17. </head> 
  18. <body> 
  19. <div class="abc"> 
  20. 欢迎访问<a href="http://www.thinkcss.com/">ThinkCSS</a>网站! 
  21. </div> 
  22.  
  23. <div class="bb"> 
  24. 默认我是蓝色,鼠标悬停时变红色并加粗。 
  25. </div> 
  26. </body> 
  27. </html> 

2、HTML代码与浏览器效果截图说明图


默认与鼠标悬停浏览器测试效果截图

3、外部CSS样式转换后HTML源代码

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>thinkcss实例</title> 
  6. </head> 
  7. <body> 
  8. <div class="abc"> 
  9. 欢迎访问 
  10. <a href="http://www.thinkcss.com/"  
  11. style="color:#00F; text-decoration:none"  
  12. onMouseOver="this.style.color='#F00';this.style.textDecoration='underline'"  
  13. onMouseOut="this.style.color='#00F';this.style.textDecoration='none'">thinkcss</a>网站! 
  14. </div> 
  15.  
  16. <div style="color:#00F; font-weight:normal" 
  17. onMouseOver="this.style.color='#F00';this.style.fontWeight='bold'" 
  18. onMouseOut="this.style.color='#00F';this.style.fontWeight='normal'"> 
  19. 默认我是蓝色,鼠标悬停时变红色并加粗。 
  20. </div> 
  21. </body> 
  22. </html> 

4、使用onMouseOver和onMouseOut实现外部CSS hover样式截图


使用onMouseOver和onMouseOut实现外部CSS hover样式浏览器测试效果与说明截图

5、在线演示:查看案例(使用onMouseOver和onMouseOut转换后实例)

6、打包下载(包括了外部CSS与转换后HTML文件

7、特别说明:无论是a标签还是div标签、span标签、h1标签p标签等都可以直接在标签内使用onMouseOver和onMouseOut实现鼠标悬停移到对象上与移开后样式变化。需要注意是,一般为了初始默认状态与鼠标移开后样式保存一致,需要对标签内加style属性设置CSS与onMouseOut(鼠标移开)设置样式CSS保存一致。

扩展阅读:
1、IE6支持对非a标签设置css :hover

如需转载,请注明文章出处和来源网址:http://www.thinkcss.com/jiqiao/698.shtml

修订日期:2014-06-07 08:35 www.thinkcss.com ThinkCSS