在悬停时将按钮的宽度增加几个百分点

时间:2013-12-10 20:17:25

标签: html css button hover

所以,我做了这个。

HTML

<div id="navholder" class="bgd">
<nav id="nav">
    <ul>
        <li><a href="">Почетна</a></li>
        <li><a href="">Делатност</a></li>
        <li><a href="">Историјат</a></li>
        <li><a href="">Службе</a></li>
        <li><a href="">Колектив</a></li>
        <li><a href="">Контакт</a></li>
    </ul>
</nav>
</div>

#navholder {
height: 60px;
text-align: center;
margin: 0 auto;
    }

#nav {
height: 30px;
margin-top: 10px;
background: #B8860B;
    }

#nav ul li{
margin-top: 3px;
display: inline;
font-size: 120%;
opacity: 1.0;
    }

#nav ul li a {
display: inline-block;
height: 120%;
padding: 5px;
-webkit-box-shadow: -1px 0px 22px rgba(50, 50, 50, 0.5);
-moz-box-shadow:    -1px 0px 22px rgba(50, 50, 50, 0.5);
box-shadow:         -1px 0px 22px rgba(50, 50, 50, 0.5);
border: 1px solid white;    
opacity: 1.0;
background: #DAA520;

    }

#nav a:hover {
color: white;
background: black;
width: ?
    }

我希望按钮一旦用鼠标悬停,就会增加约20%。我发现的问题是,如果我使用像“width:60px”这样的确切宽度,并不是每个按钮的大小都相同。

另一方面,如果我使用“width:120%”,我相信页面会占用整个#navholder元素的宽度,该元素由.bgd类定义。

关于如何实现这一目标的任何想法?

感谢。

3 个答案:

答案 0 :(得分:11)

您可以使用transform: scale()

jsFiddle example

#nav a:hover {
    transform:scale(1.3,1.3);
    -webkit-transform:scale(1.3,1.3);
    -moz-transform:scale(1.3,1.3);
}

答案 1 :(得分:1)

只需在悬停时增加填充:

#nav a:hover {
   color: white;
   background: black;
   padding: 5px 10px; /* 5px top/bottom, 10px left/right */
}

答案 2 :(得分:-2)

您可以使用em设置宽度并增加字体大小。

此外,您可以在悬停时添加边框/填充:

#nav a:hover {
    border-right: solid 20px black;
    /* or padding-right */
}