无法在导航栏中更改<li>垂直位置,而不会影响导航栏的大小

时间:2017-09-28 13:52:46

标签: html css nav

所以我尝试改变李的垂直位置,但是当我这样做时,导航栏的高度也会受到影响。在不影响导航栏高度的情况下实际执行此操作的方法是什么?

以下是代码:

&#13;
&#13;
body {
  margin: 0px;
}

ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
  padding-left: 5px;
  padding-top: 10px;
  background-color: #333;
  overflow: hidden;
}

li {
  float: left;
  height: 30px;
  width: 100px;
  background-color: grey;
  color: white;
  margin-right: 4px;
  text-align: center;
  line-height: 30px;
  font-weight: bold;
  font-size: 15px;
}

li a {
  text-decoration: none;
  color: white;
  display: block;
}

ul li:hover {
  opacity: 0.8;
}
&#13;
<ul>
  <li><a href="kalli.html">Home</a></li>
  <li><a href="mp.html">My Profile</a></li>
  <li><a href="set.html">Settings</a></li>
</ul>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您可以在我的代码段position: relative;中添加bottomtopbottom: 4px;的值:

这会保留元素最初占用的空间(不含position: relative;),但会根据顶部/底部/左/右设置移动元素,而不会影响其他元素。

body {
  margin: 0px;
}

ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
  padding-left: 5px;
  padding-top: 10px;
  background-color: #333;
  overflow: hidden;
}

li {
  float: left;
  height: 30px;
  width: 100px;
  background-color: grey;
  color: white;
  margin-right: 4px;
  text-align: center;
  line-height: 30px;
  font-weight: bold;
  font-size: 15px;
  position: relative;
  bottom: 4px;
}

li a {
  text-decoration: none;
  color: white;
  display: block;
}

ul li:hover {
  opacity: 0.8;
}
<ul>
  <li><a href="kalli.html">Home</a></li>
  <li><a href="mp.html">My Profile</a></li>
  <li><a href="set.html">Settings</a></li>
</ul>