IE浏览器中a:hover设置background失效的解决方法

hover伪类在IE中有bug以前貌似在网上看到过,但是实际应用中没碰到过,今天正好有个页面需要做一个导航栏,结果a:hover设置background后在IE下是无法显示背景的。

html:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
< ul  id="nav">
     < LI >
             Home
         </ A >
     </ LI >
     < LI >
             Submissions
         </ A >
         < UL >
                     < LI >
                         < A  href="http://preprod-world-2007/knowledge/udc2011/en/Pages/submit.aspx">
                             < span >
                                 Selection process
                             </ span >
                         </ A >
                     </ LI >
         </ UL >
         </ LI >
</ ul >

chrome下显示效果:

css:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#nav, #nav ul{
margin : 0 ;
padding : 0 ;
list-style-type : none ;
list-style-position : outside ;
position : relative ;
line-height : 1.5em ;
background : #b5bd00 ;
}
 
#nav a{
display : block ;
padding : 0px  5px ;
COLOR:  #484848 ; FONT-SIZE:  10px ; FONT-WEIGHT:  bold ;
text-decoration : none ;
}
 
#nav li{
float : left ;
position : relative ;
}
 
#nav ul {
position : absolute ;
display : none ;
width : auto ;
top : 1.5em ;
z-index : 1000 ;
}
 
#nav li ul a{
width : 12em ;
height : auto ;
margin : 2px ;
float : left ;
display : block ;
}
 
#nav li ul li a:hover{
     background : #fff ;
     margin : 2px ;
     display : block ;
}
 
/*#nav li ul li a:hover span{background:#fff; display:block; width:12em;}
*/
#nav ul ul{
top : auto ;
}
 
#nav li ul ul {
left : 12em ;
margin : 0px  0  0  10px ;
}
 
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{
     
display : none ;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{
display : block ;
}

  

尽管你怎么样子设置a tag的css都是不管用的,参考了http://www.planabc.net/2007/02/15/ie_hover_bug/

在a tag中增加一个span tag,同时在css中增加

html:

1
2
                                                     of your event</ span ></ A >

css:

1
#nav li ul li a:hover span{ background : #fff display : block width : 16em ;}

  

ok,that's done!


转自:http://www.cnblogs.com/Fred_Xu/archive/2011/09/08/ie-a-hover-background-bug.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值