css3中,:hover不仅仅可以用在a元素,已经扩展到绝大多数的标签,然而ie6以下浏览器不支持这种特性,今天看下如何做到兼容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>例子a以为的元素使用CSS3中的:hover伪类</title>
<style type="text/css">
ul
{
margin:0;
padding:0;
list-style-type:none;
}
#ulist
{
font-size:14px;
line-height:1.5em;
border-top:3px solid #119DBB;
width:15em;
margin:0 auto;
}
#ulist li
{
background-color:#C9F1FA;
cursor:pointer;
padding-left:10px;
}
#ulist li:hover,#ulist .li_hover
{
background-color:#FFF;
border-top:1px dotted #14ADCD;
border-bottom:1px dotted #14ADCD;
_border-top-style:solid;
_border-bottom-style:solid;
}
</style>
<!--[if IE 6]>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#ulist>li").each(function(){
$(this).mouseover(function(){
$(this).addClass('li_hover');
}).mouseout(function(){
$(this).removeClass('li_hover');
});
});
});
</script>
<![endif]-->
</head>
<body>
<ul id="ulist">
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
</ul>
</body>
</html>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>例子a以为的元素使用CSS3中的:hover伪类</title>
<style type="text/css">
ul
{
margin:0;
padding:0;
list-style-type:none;
}
#ulist
{
font-size:14px;
line-height:1.5em;
border-top:3px solid #119DBB;
width:15em;
margin:0 auto;
}
#ulist li
{
background-color:#C9F1FA;
cursor:pointer;
padding-left:10px;
}
#ulist li:hover,#ulist .li_hover
{
background-color:#FFF;
border-top:1px dotted #14ADCD;
border-bottom:1px dotted #14ADCD;
_border-top-style:solid;
_border-bottom-style:solid;
}
</style>
<!--[if IE 6]>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#ulist>li").each(function(){
$(this).mouseover(function(){
$(this).addClass('li_hover');
}).mouseout(function(){
$(this).removeClass('li_hover');
});
});
});
</script>
<![endif]-->
</head>
<body>
<ul id="ulist">
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
<li>这是一段测试用的文本</li>
</ul>
</body>
</html>
对ie6- 采用js实现。
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/143590,如需转载请自行联系原作者