我有一个用作菜单的列表。当我将鼠标悬停在它们上方时,我会围绕它们创建边框,但是当我这样做时,它们会向左移动一点!我怎么能阻止他们这样做?
CSS:
header {
background-color: #eee;
height: 45px;
box-shadow: 0px 2px 3px 1px #bbb;
}
#welcome_area {
float: left;
margin-left: 5%;
}
#menu {
float: right;
margin-right: 5%;
}
#menu nav ul li {
display: inline;
padding: 5px;
}
#menu nav ul li a {
color: black;
text-decoration: none;
padding: 2px;
}
#menu nav ul li a:hover {
border: 1px solid black;
border-radius: 2px;
}
.userWidget {
position: relative;
display: inline-block;
width: 300px;
height: 50px;
overflow: visible;
z-index: 1;
}
.userWidget:hover {
z-index: 2;
}
.user {
position: absolute;
width: 300px;
height: 50px;
margin-bottom: 5px;
background: #fff;
transition: width 0.3s, height 0.3s;
}
.user:hover {
width: 350px;
height: 200px;
background: #eee;
transition: width 0.3s ease 0.5s, height 0.3s ease 0.5s;
}
答案 0 :(得分:7)
答案 1 :(得分:0)
使用更少的代码,您可以达到同样的效果。
使用outline
来实现您的需求:
#menu nav ul li a:hover {
outline: 1px solid black;
border-radius: 2px;
}