首页 > 解决方案 > 如何将所有 li 元素移动到左侧

问题描述

我想将所有li元素移动到ul元素的左侧。看起来第一个li元素的左边距 >0 我不明白。

你知道我该如何解决这个问题吗?

最终目标是:footer 中的第一个li元素#music 和#email 元素的左边距相同,均为 70px(与左边框的距离相同)。

html,
body {
  margin: 0;
  text-align: center;
}

header {
  overflow: hidden
}

nav {
  overflow: hidden;
  display: inline-block;
  float: left;
  margin-left: 70px;
}

nav li {
  margin-right: 70px;
  float: left;
}

nav ul {
  list-style: none;
  overflow: hidden
}

#email {
  float: left;
  padding: 25px 0px;
  margin-left: 70px;
}

.wrapper {
  border: 2px solid green;
}

#menu2 {
  float: right;
  margin-right: 70px;
  border: 2px solid green;
}

ul {
  margin-top: 0px;
  margin-bottom: 0px;
}
<div class="wrapper">
  <header>
    <nav id="menu">
      <ul>
        <li id="music">
          <a href="#"><img src="gfx/music40.gif"></a>
        </li>
        <li id="film">
          <a href="#"><img src="gfx/film40.gif"></a>
        </li>
        <li id="visual">
          <a href="#"><img src="gfx/visual40.gif"></a>
        </li>
        <li id="media">
          <a href="#"><img src="gfx/media40.gif"></a>
        </li>
      </ul>
    </nav>
    <div id="menu2">
      <a id="logo" href="index.html"><img src="gfx/tobera40.gif" alt="logo" class="logo"></a>
    </div>
  </header>

  <div id="main">
    <img src="gfx/banner40.jpg">
  </div>


  <footer>
    <div id="email">
      <img src="email.jpg">
    </div>
  </footer>
</div>

标签: htmlcsshtml-listsmarginpadding

解决方案


ul 上的填充将您的 li 项目推到右侧。由于#email 和 nav 都缩进 70px,唯一的区别是 ul 上的填充。尝试添加:

ul {
    padding: 0;
}

推荐阅读