如何将所有 li 元素移动到 <ul> 元素的左侧?
How to move all li elements to the left side of the <ul> element?
我想将所有 li 元素移动到 ul 元素的左侧。
看起来第一个 li 元素的左边距 >0,我不明白。
你知道我该如何解决这个问题吗?
最终目标是:页脚中第一个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>
首先你错过了关闭 div id='wrapper'.
其次,这是我对 CSS 格式的建议 - 不要写 class 或 id,然后在打开括号后将值放在它下面。
像这样
ul{
margin-top:0px;
margin-bottom:0px;
}
使用一些 spaces 并在其中保持不变对你来说更好..就像 ul 元素之后的 4x spaces - 像这样:
ul {
margin-top:0px;
margin-bottom:0px;
}
你的 UL 也不需要有 margin-top: 0
如果您不想在正文和导航栏之间放置任何 space,最好放置 top:0...
你有很多错误,但熟能生巧。
HTML 代码格式很好。
另外,我建议您在 CSS 中写评论,有时也在 HTML 中写评论。因为使用大页面,您会忘记自己在做什么和过去是什么。
overflow:hidden -- this overflow missing ;
对不起我的英语。只需关闭 id='Wrapper' 的 div 元素,仅此而已:)
您可以将 padding: 0
添加到 ul
元素以强制它粘在父 nav
元素的左边框上。
ul 上的填充将您的 li 项目推到右边。由于#email 和 nav 都缩进了 70px,唯一的区别是 ul 上的填充。尝试添加:
ul {
padding: 0;
}
我想将所有 li 元素移动到 ul 元素的左侧。 看起来第一个 li 元素的左边距 >0,我不明白。
你知道我该如何解决这个问题吗?
最终目标是:页脚中第一个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>
首先你错过了关闭 div id='wrapper'.
其次,这是我对 CSS 格式的建议 - 不要写 class 或 id,然后在打开括号后将值放在它下面。
像这样
ul{
margin-top:0px;
margin-bottom:0px;
}
使用一些 spaces 并在其中保持不变对你来说更好..就像 ul 元素之后的 4x spaces - 像这样:
ul {
margin-top:0px;
margin-bottom:0px;
}
你的 UL 也不需要有 margin-top: 0 如果您不想在正文和导航栏之间放置任何 space,最好放置 top:0...
你有很多错误,但熟能生巧。
HTML 代码格式很好。 另外,我建议您在 CSS 中写评论,有时也在 HTML 中写评论。因为使用大页面,您会忘记自己在做什么和过去是什么。
overflow:hidden -- this overflow missing ;
对不起我的英语。只需关闭 id='Wrapper' 的 div 元素,仅此而已:)
您可以将 padding: 0
添加到 ul
元素以强制它粘在父 nav
元素的左边框上。
ul 上的填充将您的 li 项目推到右边。由于#email 和 nav 都缩进了 70px,唯一的区别是 ul 上的填充。尝试添加:
ul {
padding: 0;
}