CSS菜单在悬停时移动内容

Max*_*ell 3 html css menu hover nav

我正在尝试创建一个导航菜单,当项目悬停时显示边框.虽然它目前看起来很好,但当其中一个项目悬停时,其他菜单项会被推开.我怎么会让他们留下来?

我尝试了一些在这里得到解决的方法,但没有一个方法有效.
我在下面提到了一个小提琴.

nav {
  float: left;
  width: 100%;
}

ul {
  float: left;
  list-style:none;
  padding: 0;
  position: relative;
  left: 50%;
  text-align: center;
}

ul li {
  display: block;
  float: left;
  list-style: none;
  position: relative;
  right: 50%;
  margin: 0px 0px 0px 1px;
  padding: 5px 40px;
  color: white;
  line-height: 1.3em;
}

li a:hover {
  border: solid 1px black;
  padding: 5px 10px;
}

a {
  color: black;
  font-family: 'Quicksand', sans-serif;
  text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
<nav>
  <ul>
    <li><a href="#">HOME</a></li>
    <li><a href="#">ABOUT</a></li>
    <li><a href="#">MUSIC</a></li>
    <li><a href="#">STORE</a></li>
    <li><a href="#">LIVE</a></li>
    <li><a href="#">CONTACT</a></li>
  </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

在JSFiddle上查看

Naw*_*han 5

因为您在悬停时添加填充.将填充从悬停移动到锚点.

li a:hover {
            border: solid 1px black;
}
a {
    color: black;
    font-family: 'Quicksand', sans-serif;
    text-decoration: none;
    border: solid 1px transparent;
    padding: 5px 10px;
}
Run Code Online (Sandbox Code Playgroud)

这是小提琴.