Ответ 1
Вам нужно использовать display:block
и float:left
на li
, чтобы удалить пробел. Когда они встроены, браузер рассматривает их как слова и поэтому оставляет пространство между ними.
Также см. мой аналогичный вопрос.
У меня есть следующая тестовая страница и css. При отображении между каждым элементом списка существует разрыв в 4 пиксела. Как получить элементы рядом друг с другом?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<link type="text/css" rel="stylesheet" href="/stylesheets/test.css" />
</head>
<body>
<div>
<ul class="nav">
<li class="nav"><a class="nav" href="#">One1</a></li>
<li class="nav"><a class="nav" href="#">Two</a></li>
<li class="nav"><a class="nav" href="#">Three</a></li>
<li class="nav"><a class="nav" href="#">Four</a></li>
</ul>
</div>
</body>
</html>
css:
ul.nav, ul li.nav {
display: inline;
margin: 0px;
padding: 0px;
}
ul.nav {
list-style-type: none;
}
li.nav {
background-color: red;
}
a.nav {
background-color: green;
padding: 10px;
margin: 0px;
}
a:hover.nav {
background-color: gray;
}
Вам нужно использовать display:block
и float:left
на li
, чтобы удалить пробел. Когда они встроены, браузер рассматривает их как слова и поэтому оставляет пространство между ними.
Также см. мой аналогичный вопрос.
Объедините @Skilldrick и @teedyay, и у вас есть свой ответ и объяснение.
Если <li>
обрабатываются как слова, чем любое свободное пространство вокруг них, оно конденсируется в одно пространство.
Итак, я думаю, что это функция, которая выглядит как ошибка.
Чтобы удалить пространство, поместите все ваши <li>
в цепочку без пробелов между ними.
ИЛИ
Уменьшите размер шрифта на <ul>
до 0 и восстановите размер на <li>
s
Вы также можете установить font-size:0
для тега <ul>
.
Я боюсь, что это тоже грязно, но я буду (приятно) удивлен, если у вас будет чистое исправление.
Поместите все свои <li>
в одну строку:
<li class="nav"><a class="nav" href="#">One1</a></li><li class="nav"><a class="nav" href="#">Two</a></li><li class="nav"><a class="nav" href="#">Three</a></li><li class="nav"><a class="nav" href="#">Four</a></li>
К сожалению.