Не могу понять откуда появляются лишние отступы Код (Text): <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> <div class="clear"></div> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> [css] .block{ float: left; width: 100px; } .clear{ clear: both; } [/css] XHTML strict Отступы появляются между первым и вторым рядом. Firebag и Dragonfly показывают высоту блока clear 0 отступы 0. Бред какой-то.
HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <style type="text/css"> .block{ float: left; width: 100px; } .clear{ clear: both; } </style> </head> <body> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> <div class="clear"></div> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> <div class="block">бла бла бла</div> </body> </html> отступов обнаружено не было. скорее всего слева/справа есть блок с float-ом по высоте в пол страницы, после которого вступает в действие который будет расположен ниже данного блока в любом случае
Gromo так и есть. На странице есть два сайдбара(один слева второй справа) и блок с контентом. Порядок такой: правый сайдбар(float: right), левый(float: left), контент в котором располагаются блоки block. После <div class="clear"></div> из-за правого сайдбара(видимо, потому что он по высоте больше чем левый) получается отступ ровно до его нижней границы. Для проверки ставил рамку каждому блоку, чтобы увидеть что там мешает. Почему из-за правого сайдбара получается отступ понять не могу! Как решить данную проблему?
realasd свойство clear:both обнуляет все флоаты всех предыдущих элементов. т.е. элемент со свойством clear:both будет идти ниже любого другого элемента с float-ом. можно попробовать сделать только clear:left - т.е. идти ниже любого другого элемента с float:left, но тогда будет мешать левая панель - зависит от того каким образом сделана вёрстка.
решил проблему: поместил все блоки "block" в div со стилем float: left.( хотя есть подозрение, что если левый сайдбар будет длиннее правого отступ снова появится) Но всёравно не понимаю: как может sidebar мешать контенту в центральном блоке. Насколько я понимаю если разметсить блок со свойством clear:both в центральном блоке, то размещённый блок должен идти ниже всех элементов именно в центральном блоке и не учитывать другие элементы которые находятся вне центрального блока даже с обтеканием.