【问题标题】:CSS menu moving contents on hoverCSS菜单在悬停时移动内容
【发布时间】:2018-04-23 02:44:07
【问题描述】:

我正在尝试创建一个导航菜单,当项目悬停时显示边框。虽然它目前看起来不错,但当一个项目悬停在上面时,其他菜单项会被推开。我将如何让他们留在原地?

我尝试了一些在此处得到解答的方法,但都没有奏效。
我在下面包含了一个小提琴。

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

View on JSFiddle

【问题讨论】:

    标签: html css menu hover nav


    【解决方案1】:

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

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

    Here is the fiddle.

    【讨论】:

      【解决方案2】:

      将填充属性从“li a: hover”移动到“a”。

      a {
         color: black;
         font-family: 'Quicksand', sans-serif;
         text-decoration: none;
         padding: 5px 10px;
        }
      

      【讨论】:

        猜你喜欢
        • 2013-06-21
        • 1970-01-01
        • 2015-07-22
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        • 2021-03-20
        • 1970-01-01
        • 2011-12-01
        相关资源
        最近更新 更多