这是我的问题
header {
width: 100%;
height: 81px;
background: #669999;
line-height: 81px;
}
header nav {
float: right;
margin-right: 15%;
background: green;
}
header nav ul {
background: yellow;
width: 650px;
}
header nav li {
display: inline-block;
margin-left: 20px;
width: 180px;
height: 36px;
background: #006666;
margin-top: 20px;
margin: auto;
}
header nav li a {
background: red;
margin: auto;
}
<header>
<nav>
<ul>
<li><a href="">About</a></li>
<li><a href="">Works</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
</header>
我想知道为什么<a>
链接未与 <li>
列表中的对齐?
<a>
链接与标题垂直对齐,因此它很完美,但<li>
列表位于上方。
答案 0 :(得分:0)
text-align: center;
设为li
height
li
或将其增加(至height: 81px;
)
* {
margin:0;padding:0;
}
header {
width:100%;
height:81px;
background:#669999;
line-height: 81px;
}
header img {
margin-left:15%;
margin-top:20px; /* 50% img-height */
}
header nav {
float:right;
margin-right:15%;
background: green;
}
header nav ul {
background:yellow;
width:650px;
}
header nav li {
display: inline-block;
margin-left: 20px;
width: 180px;
/* height: 36px; */
background: #006666;
margin-top: 20px;
margin: auto;
text-align: center;
}
header nav li a {
background:red;
margin:auto;
}
&#13;
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<header>
<nav>
<ul>
<li><a href="">About</a></li>
<li><a href="">Works</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
</header>
</body>
</html>
&#13;
答案 1 :(得分:0)
实际上您正面临继承问题。在标头上定义line-height
时,它将由li
和a
继承。 li
是inline-block
元素,其高度由您添加的固定高度(或默认为其内容的高度)定义
a
元素是一个内联元素,它的高度由它的行高(从li
继承)定义,从逻辑上讲,你将有一个溢出,因为它将大于高度li
(81px > 36px)
。如果您从li
移除固定高度,其高度将等于81px
,即其内容a
的高度。
要避免这种情况,您只需要将line-height
的{{1}}设为li
(initial
也会继承它)并删除已修复的内容,从而删除继承高度:
a
* {
margin: 0;
padding: 0;
}
header {
width: 100%;
height: 81px;
background: #669999;
line-height: 81px;
}
header nav {
background: green;
}
header nav ul {
background: yellow;
}
header nav li {
display: inline-block;
margin-left: 20px;
width: 180px;
line-height: initial;
background: #006666;
margin-top: 20px;
margin: auto;
}
header nav li a {
background: red;
margin: auto;
}
如果您想要将固定高度定义为<header>
<nav>
<ul>
<li><a href="">About</a></li>
<li><a href="">Works</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
</header>
,只需指定其行高等于其固定高度:
li
* {
margin: 0;
padding: 0;
}
header {
width: 100%;
height: 81px;
background: #669999;
line-height: 81px;
}
header nav {
background: green;
}
header nav ul {
background: yellow;
}
header nav li {
display: inline-block;
margin-left: 20px;
width: 180px;
height:36px;
line-height: 36px;
background: #006666;
margin-top: 20px;
margin: auto;
}
header nav li a {
background: red;
margin: auto;
}
答案 2 :(得分:0)
你有标题所包含的行高问题。
1.删除li的高度或将其增加到65px。
* {
margin: 0;
padding: 0;
}
header {
width: 100%;
height: 81px;
background: #669999;
line-height: 81px;
}
header nav {
float: right;
margin-right: 15%;
background: green;
}
header nav ul {
background: yellow;
width: 650px;
height: 81px;
text-align: center; /* center a tag */
}
header nav li {
display: inline-block;
margin-left: 20px;
width: 180px;
height: 65px; /* increase the height of li */
background: #006666;
margin-top: 20px;
margin: auto;
}
header nav li a {
background: red;
margin: auto;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset ="UTF-8"/>
<title>Section 2: Javascript Language Basics</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<nav>
<ul>
<li><a href="">About</a></li>
<li><a href="">Works</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
</header>
</body>
</html>