У меня есть очень простая HTML-страница (проверяется как XHTML 1.0 Strict):
<div class="news-result">
<h2><a href="#">Title</a></h2><span class="date">(1-1-2009)</span>
<p>Some text...</p>
</div>
со следующим CSS:
.news-result {
overflow: hidden;
padding: 30px 0 20px;
}
.news-result h2 {
float: left;
margin: 0 10px 0 0;
}
.news-result span.date {
margin: 1px 0 0;
float : left;
}
.news-result p {
padding: 3px 0 0 0;
clear: left;
}
Отрисовка этой страницы в IE6 или FF3 отрисовывается идеально (заголовок и дата в одной строке, после которых следует абзац). Однако в IE7 между заголовком и датой и абзацем есть большой пробел.
У нас есть простой сброс, который очищает все поля и отступы для каждого элемента.
Удаление элемента с плавающей точкой в элементе date устраняет эту проблему, равно как и установка zoom: 1
в абзаце или удаление overflow: hidden
в контейнере, но не все идеально. Почему с плавающей точкой, сопровождаемой абзацем, запускается это дополнительное верхнее поле только в IE7?