CSS上悬停放大<li>并移动文字位置</li>

时间:2013-02-01 13:35:59

标签: css jsfiddle

这是我设法做的..

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;框的顶部,那就悬停了#34;文本返回到原来的位置..我已经将[ul li a]设置为高度:100%但我不知道为什么它不起作用..

任何帮助将不胜感激,谢谢

2 个答案:

答案 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;
}