Ответы:
overflow:auto;на содержащем div делает все внутри него (даже плавающие элементы) видимым, а внешний div полностью оборачивается вокруг них. См. Этот пример:
.wrap {
padding: 1em;
overflow: auto;
background: silver;
}
.float {
float: left;
width: 40%;
background: white;
margin: 0 1%;
}
<div class="wrap">
<div class="float">Cras mattis iudicium purus sit amet fermentum. At nos hinc posthac, sitientis piros Afros. Qui ipsorum lingua Celtae, nostra Galli appellantur. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Ambitioni dedisse scripsisse iudicaretur.</div>
<div class="float">Mercedem aut nummos unde unde extricat, amaras. A communi observantia non est recedendum. Quisque ut dolor gravida, placerat libero vel, euismod. Paullum deliquit, ponderibus modulisque suis ratio utitur.</div>
</div>
overflowбыл добавлен). Исправлено удалением overflow: auto;из класса, а также heightселектора
Есть несколько способов очистить поплавки. Вы можете проверить некоторые здесь:
http://work.arounds.org/issue/3/clearing-floats/
Например, clear:bothможет сработать для вас
#element:after {
content:"";
clear:both;
display:block;
}
#element { zoom:1; }
overflow: auto;содержимое (например, украшения фокуса) будет обрезаться, выходя за пределы элемента, но этого не произойдет.
Во многих случаях overflow: auto;этого будет достаточно, но для завершения и поддержки кроссбраузерности обратите внимание на Clearfix, который выполнит эту работу для всех браузеров.
Давайте рассмотрим следующую разметку ..
<div class="clearfix">
<div class="content">Content 1</div>
<div class="content">Content 2</div>
</div>
Наряду со следующими стилями ..
.content { float:left; }
.clearfix { ..from link.. }
Без clearfix у родителя divне было бы высоты из-за плавающих дочерних элементов . Clearfix заставит родителя рассмотреть плавающих детей.
overflow: auto;