这是我设法做的..
http://jsfiddle.net/pns2050/gAZPs/3/
#navigation ul li {
text-decoration: none;
list-style:none;
text-align:center;
float:left;
width:80px;
height:30px;
margin-left:10px;
border-bottom-left-radius:10px;
border-bottom-right-radius:10px;
background-image:url(../images/nav.jpg);
box-shadow: 0px 2px 5px 2px #91948d;
}
#navigation ul li a {
margin-top:5px;
text-decoration: none;
color:white;
font-weight:bold;
width:100%;
height:100%;
display:block;
}
#navigation ul li:hover
{
height:33px;
}
#navigation ul li a:hover {
margin-top: 8px;
}
我遇到的问题是,如果我的鼠标放在"框的顶部,那就悬停了#34;文本返回到原来的位置..我已经将[ul li a]设置为高度:100%但我不知道为什么它不起作用..
任何帮助将不胜感激,谢谢
答案 0 :(得分:2)
只需更改
#navigation ul li a:hover {
margin-top: 9px;
}
到
#navigation ul li:hover a {
margin-top: 9px;
}
答案 1 :(得分:1)
如果您希望整个元素可以点击,请不要设置li
的样式,而是直接设置a
的样式!
演示:http://jsfiddle.net/gAZPs/5/
在li
上使用display:inline删除子弹:
#navigation ul li {
display:inline;
}
然后,使用a
上的所有样式:
#navigation ul li a{
text-decoration: none;
text-align:center;
float:left;
width:80px;
height:30px;
margin-left:10px;
border-radius:0 0 10px 10px;
background-color:#ccc;
box-shadow: 0px 2px 5px 2px #91948d;
color:white;
font-weight:bold;
line-height: 30px;
}
#navigation ul a:hover {
padding-top: 3px;
}