«Двойные« вертикальные »поля» - это хорошо известная проблема в IE 6, но она не должна быть проблемой в IE7. РЕДАКТИРОВАТЬ: Мой первый ответ был неправильным из-за к недоразумению по поводу исходного названия этой темы, которое гласило: «Проблема с двойными вертикальными полями, появляющимися в IE6 и IE7»
После того, как вы примените приведенное ниже исправление, дважды проверьте свой DOCTYPE и пропустите свой код через W3C Validator , чтобы убедиться, что все остальное в порядке.
Использование пустого <div>
является очень распространенным методом «очистки» ваших поплавков, несмотря на принятый в этой теме ответ, который рекомендует использовать элемент перевода строки <br>
.
Пустой <div>
не имеет высоты , как показано в этом JSFiddle красным <div>
с классом .empty
. Обратите внимание, что пустые красные <div>
невидимы и не занимают места между синими <div>
.
Другие элементы, такие как <br />
, имеют высоту строки, которая может вызвать другие проблемы с пробелами , как показано в этом JSFiddle . Обратите внимание, как вы можете видеть полную пустую строку между каждым синим <div>
.
Поэтому добавьте <div style="clear:both;"></div>
между строками <div>
:
<div id="content">
<div id="contentwrapper">
<div class="infobox leftinfo row1">
<div class="searchForm">
</div>
</div>
<div class="infobox rightinfo row1">
<div class="searchForm">
</div>
</div>
<div style="clear:both;"></div>
<div class="infobox leftinfo row2">
<div class="textstuff">
</div>
</div>
<div class="infobox rightinfo row2">
<div class="textstuff">
</div>
</div>
</div>
</div>