float: оставленный вопрос - PullRequest
1 голос
/ 13 марта 2011

У меня есть такие вещи, как:

<div id="div1">
<div style="float:left;width:100px;height:100px;"></div>
</div>

И кажется, что div1 имеет размер 0x0 вместо 100x100. Почему?

Ответы [ 3 ]

7 голосов
/ 13 марта 2011

#div1 сам по себе не является плавающим, поэтому он не содержит внутреннего div. Плавающий выводит элемент из нормального потока , поэтому #div1 своего рода больше не знает своего потомка.

Для того, чтобы сделать это, вам также нужно всплыть #div1 или дать ему overflow: hidden, чтобы он содержал внутреннее значение div (или использовать clearfix).

3 голосов
/ 13 марта 2011

Очистить число с плавающей точкой:

http://blogs.sitepoint.com/2005/02/26/simple-clearing-of-floats/

Обновление:

У List Apart есть хорошая статья на эту тему: http://www.alistapart.com/articles/css-floats-101/

Из статьи:

... плавающие элементы первоначально рассчитываются в нормальном потоке, а затем удаляются, элемент #container не считает его в своих пределах и поэтому действует так, как если бы он не былдаже там ..

2 голосов
/ 13 марта 2011

Просто установите

#div1{
    overflow:hidden;
}

Или добавьте

<br style="clear:both" />

непосредственно перед закрывающим тегом # div1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...