对齐超链接列表块导航中的文本

时间:2012-08-29 19:10:13

标签: html css

http://cssdesk.com/sv2Wq

我正在尝试垂直对齐<li>中的文字。我构建它的方式似乎不太可能,因为盒子本身就是链接。

这是做简单导航栏的标准方法,对吗?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<title>
</title>
</head>
<body>
<div id="wrapper">
<div id="navbar">
<ul>
<li><a href="home.php">Home</a></li>
<li><a href="news.php">News</a></li>
<li><a href="roster.php">Roster</a></li>
<li><a href="forums.php">Forums</a></li>
<li><a href="contact.php">Contact</a></li>
</ul> 
</div>
</div>
</body>
</html>

-

body, div, dl, dt, dd, ul, ol, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input,textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
}

body {
background-image:url("images/gradients/background_gradient.png");
}

#wrapper {
margin: auto;
min-height: 1152px;
width: 1536px;
}

#navbar {
border: 1px solid red;
height: 200px;
width: 100%;
font-size: 2em;
margin: 0;
}

#navbar a {
text-decoration: none;
}

#navbar ul {
display: block;
list-style-type: none;
}

#navbar ul li a {
float: left;
display: block;
height: 200px;
width: 20%;
text-align: center;
letter-spacing: -0.5px;
}

#navbar ul li :hover{
background-color: white;
}

3 个答案:

答案 0 :(得分:0)

可以 - 只需添加line-height

#navbar ul li a {
    display: block;
    float: left;
    height: 200px;
    letter-spacing: -0.5px;
    line-height: 200px; /* this */
    text-align: center;
    width: 20%;
}

答案 1 :(得分:0)

将锚点的行高设置为与列表元素的高度相同的值。

编辑:太慢了:))

哦,顺便说一句:只要你的链接在一行上,这就行了。

答案 2 :(得分:0)

使用此选项可垂直居中于html框。与我惊人的作品。 确保它在链接css中。

display:table-cell;
vertical-align:middle;

这是在css ...

#navbar ul li a {
float: left;
height: 200px;
width: 20%;
text-align: center;
letter-spacing: -0.5px;
    display:table-cell;
    vertical-align:middle;
}