Обрамляем поплавки не нарушая семантики
Очень часто приходится использовать поплавки, при этом ещё чаще возникает необходимость обрамления их родительским элементом. В соответствии со спецификацией HTML, блок, вмещающий в себя поплавки, их не обрамляет. Стандартным решением этой проблемы является добавление невидимого элемента после поплавков с установкой свойства clear, однако, это нарушает семантику кода, добавляется какой-то никому нафиг не нужный элемент, который не несёт никакой смысловой нагрузки. Ну и мать его так, не нужен он нам больше. Совсем:
<style type="text/css">
ul.menu
{
display:block;
list-style:none;
margin:0;
padding:0;
}
ul.menu li
{
float:left;
width:25%;
text-align:center;
}
ul.menu:after
{
/* для "нормальных" браузеров */
content:".";
display:block;
height:0px;
font-size:0px;
line-height:0px;
overflow:hidden;
clear:both;
visibility:hidden;
}
ul.menu
{
height:1%;
}
html>/**/body ul.menu {
height:auto !important;
}
</style>
<ul class="menu">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
Эта запись была опубликована в Thursday:ИП: 26-го April:РП: 2007 года в 20:13 в рубриках HTML/CSS.
Вы можете следить за комментариями этой записи с помощью ленты RSS 2.0.
Так же вы можете прокомментировать её либо отправить трэкбэк с вашего сайта.
Комментарии (3)
Комментировать
лучшие цены пежо 207 в Москве; купить авто suzuki swift CarsGuru.Net; все авто субару форестер CarsGuru.Net; лучшие цены kia sportage CarsGuru.Net; Блок питания

Либо overflow: hidden
трик с overflow не такой универсальный, этот охватывает больше ПА, я раньше использовал overflow…
overflow однозначно лучше!