Alexanevsky
@Alexanevsky
Любительская web-разработка

Как реализовать clear both без добавления дополнительных блоков?

Здравствуйте!

Если у меня есть блоки с float: left или float: right, их обтекание нижеследующими блоками я сбрасываю добавлением ещё одного div с clear: both. Например:
<div style="float: left;">Слева</div>
<div style="float: right;">Справа</div>
<div style="clear: both;"></div>


А что делать если, нет возможности использовать дополнительные блоки, но сбрасывать центровку как-то нужно?

Вариант с display: inline-block не подходит.

Проблема в том, что эти блоки парсятся скриптом и нет возможности добавить что-то ещё (только стилизация).

В качестве одного из вариантов вижу только добавление блока с clear: both при помощи jQuery после одного из блоков, но может быть есть другие варианты?
  • Вопрос задан
  • 331 просмотр
Решения вопроса 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
микро-клирфикс от Николаса Галаджера (Nicolas Gallagher):

.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}


jsfiddle.net/6zhzvLk6
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pashabomber
:after {
content: "";
clear: both;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы