Я иду в том же направлении, edl: a
, как встроенный элемент, не имеет вертикального заполнения.
Однако IE до IE 7 не работает хорошо с display: inline-block
(см. http://www.quirksmode.org/css/display.html),, поэтому я рекомендую вам установить ссылки на display: block
. Ваши элементы списка уже перемещены, поэтому это не имеет значения.
В связанной заметке я такжеРекомендуем изменить разметку и таблицу стилей для ясности и читабельности:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Title</title>
<link type="text/css" rel="stylesheet" href="/stylesheets/test.css">
</head>
<body>
<ul id="nav">
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
<li><a href="#">Four</a></li>
</ul>
<h2>Heading</h2>
</body>
</html>
и
#nav {
background-color: blue;
list-style-type: none;
margin: 0;
overflow: hidden;
padding: 0;
width: 100%;
}
#nav li {
background-color: red;
float: left;
}
#nav li a {
background-color: green;
display: block;
padding: 10px;
}
#nav li a:hover {
background-color: gray;
}
Не каждый элемент должен иметь класс и использовать одно и то же имя для разных целей на основепозже их теги вызовут много головной боли. Просто дайте основному элементу идентификатор и получите ваши правила оттуда.
Таким образом, вы также можете избавиться от ненужных div
s, упрощая ваширазметки.