kwork banner 468x60kwork banner 728x90kwork banner 930x180flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180smsc banner 468x60smsc banner 728x90smsc banner 930x180

Как исправить проблему коллапса родительского элемента CSS с дочерними элементами имеющими свойство float

Когда свойство float применяется к элементу внутри не плавающего родительского элемента, родительский элемент не растягивается автоматически для размещения плавающих элементов. Такое поведение обычно называют сворачиванием родителя (collapsing parent). Это не всегда очевидно, если вы не применяете некоторые визуальные свойства, такие как фон или границы, к родительским элементам, но это важно знать и с ними нужно работать, чтобы предотвратить странный макет и проблемы с кросс-браузером.

Проблему лучше всего демонстрирует следующее изображение:

Псевдоэлемент CSS :after в сочетании со свойством content используется для решения проблем, связанных со свертыванием родительских элементов в браузерах, таких как Firefox, Chrome, Safari и т. д.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Fixing Collapsing Parent Issue</title>
<style> 
    .clearfix:after{
        content:".";
        display:block;
        height:0;
        clear:both;
        visibility:hidden;
    }
    .container{
        background:yellow;
        border: 1px solid #000000;      
    }
    .column-left, .column-right{
        width: 200px;        
        margin: 10px;
        padding: 10px;
    }
    .column-left{
        float: left;       
        background: #ff0000
    }
    .column-right{
        float: right;
        background: #00ff00;
    }
</style>
</head>
<body>
    <div class="container clearfix">
        <div class="column-left">Floated to left.</div>
        <div class="column-right">Floated to right.</div>
    </div>
</body>
</html>

Подробнее см. Руководство по выравниванию элементов в CSS.

skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600etxt banner 480x320etxt banner 728x90etxt banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как добавить CSS стили к элементу с дата атрибутом в HTML

Чтобы добавить CSS к <div> с определённым data атрибутом, можно использовать селектор атрибутов в вашем CSS-файле. Вот как это сделать: Объяснение Пример Вот пример, который добавляет стили к вашему <div>: В этом примере <div> с атрибутом data-container=»outer» будет иметь светло-серый фон, рамку и отступы. Текст внутри <div> будет выровнен по центру.
Подробнее

Как анимировать фоновый цвет элемента при наведении курсора мыши с помощью CSS

Вы можете использовать CSS-свойство transition, чтобы плавно анимировать background-color элемента при наведении курсора мыши. Давайте посмотрим пример, чтобы понять, как это работает:
Подробнее