Я использую панель инструментов веб-разработчика IE для устранения неполадок. Пустое пробел появляется ниже элемента списка, и я не могу логически понять, почему. Используя панель инструментов веб-разработчиков, я вижу, что в примере 1 ниже "Текст - пустой текст Node" выводится ниже "Текст - Google". По иронии судьбы, во втором, с пространством, вставленным вручную после слова "Google", этот текст node больше не появляется. Для меня было бы полным смысла, если бы результаты были отменены. Любые идеи, что может вызвать это странное поведение?
Примечание: это происходит в IE7, но не в IE8.
<li><a href="www.google.com">Google</a></li> - empty text node appears at end
<li><a href="www.google.com">Google </a></li> - no empty text node
Обновление: Хорошо, я сузил эту проблему. В принципе, кажется, что существует конфликт между некоторыми атрибутами, которые я использую. Мне нужно, чтобы теги отображались в виде блока, поэтому они будут корректно обертываться, когда есть несколько строк. Но мне также не нужно пустое пространство между элементами. Я не совсем уверен, почему это пустое пространство решает проблему и предпочитает не просто "взломать" его.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
a
{
display:block;
}
li
{
zoom: 1;
}
</style>
</head>
<body>
<ul>
<li>
<div style="background-color:blue">
<a href="#"><img src="http://www.google.com/intl/en_ALL/images/logo.gif"/></a>
</div>
<ul>
<li style="background-color:Red"><a href="#">One</a></li>
<li style="background-color:green"><a href="#">Two </a></li>
<li style="background-color:Yellow"><a href="#">Three</a></li>
</ul>
</li>
</ul>
</body>
</html>