У меня есть структура страницы, похожая на эту:
<body>
<div id="parent">
<div id="childRightCol">
/*Content*/
</div>
<div id="childLeftCol">
/*Content*/
</div>
</div>
</body>
Я хотел бы , чтобы родитель div
расширяться в height
когда внутренний div
«S height
увеличивается.
Редактировать:
одна проблема заключается в том, что если width
дочерний контент расширяется width
за пределы окна браузера, мой текущий CSS помещает горизонтальную полосу прокрутки на родительский div
. Я хотел бы, чтобы полоса прокрутки была на уровне страницы. В настоящее время мой родительский div установлен наoverflow: auto;
Можете ли вы помочь мне с CSS для этого?
Ответы:
Попробуйте это для родителя, это работало для меня.
ОБНОВИТЬ:
Еще одно решение, которое сработало:
Родитель :
Ребенок :
источник
overflow:auto
означает, что браузер должен решить, какое значение применить. Что на самом деле делает трюкoverflow: overlay
.overflow:hidden
.overlay
что не поддерживается за пределами Webkit. Еще одно совершенно другое - сказать, что его вообще не существует. Пожалуйста, сначала RTFM . ;)display:inline-block
. Который работал отлично для меня.добавить
clear:both
. предполагая, что ваши столбцы плавающие. В зависимости от того, как указан ваш родительский рост, вам может понадобиться переполнение: auto;источник
Как сказал Йенс в комментарии
Это работает намного лучше для меня во всех браузерах.
источник
Попробуйте дать
max-content
для роста родителей.https://jsfiddle.net/FreeS/so4L83wu/5/
источник
Для тех, кто не может это выяснить, в инструкции от этого ответа есть:
Попробуйте установить отступ значение более , то 0 , если ребенок дивы имеют маржу верхом или край дно , вы можете заменить его с дополнением
Например, если у вас есть
будет лучше заменить его на:
источник
Используя что - то вроде самоочистки
div
идеально подходит для такой ситуации , как это . Тогда вы просто будете использовать класс на родительском ... как:источник
Добавить
К css родительского div или добавьте div внизу родительского div, который очищает: оба;
Это правильный ответ, потому что переполнение: авто; может работать для простых веб-макетов, но будет мешать элементам, которые начинают использовать такие вещи, как отрицательное поле и т. д.
источник
Делает ли это то, что вы хотите?
источник
Вы ищете макет CSS с двумя столбцами ?
Если это так, взгляните на инструкции , это довольно просто для начала.
источник
Я сделал родительский элемент div расширенным вокруг содержимого дочернего элемента div, создав дочерний элемент div в виде одного столбца, который не имеет какого-либо атрибута позиционирования, например, абсолютного значения.
Пример:
Основываясь на том, что maincolumn div является самым глубоким дочерним div в #wrap, это определяет глубину #wrap div, а заполнение 200px с каждой стороны создает два больших пустых столбца, в которые вы можете поместить абсолютно позиционированные div в соответствии с вашими потребностями. Вы можете даже изменить верхний и нижний отступы, чтобы разместить div и верхний колонтитул, используя position: absolute.
источник
Вы должны применить решение clearfix к родительскому контейнеру. Вот хорошая статья, объясняющая исправление ссылки
источник
Если ваш контент внутри #childRightCol и #childRightCol перемещается влево или вправо, просто добавьте это в css:
источник
Это функционирует, как описано в спецификации - несколько ответов здесь действительны и соответствуют следующему:
отсюда: https://www.w3.org/TR/css3-box/#blockwidth
источник
Ниже код работал для меня.
CSS
HTML
источник
источник
С чего мы начинаем
Вот несколько шаблонов HTML и CSS. В нашем примере у нас есть родительский элемент с двумя плавающими дочерними элементами.
Решение № 1: переполнение: авто
Решение, которое работает во всех современных браузерах и в Internet Explorer до IE8, заключается в добавлении
overflow: auto
к родительскому элементу. Это также работает в IE7 с добавленными полосами прокрутки.Решение № 2: родительский контейнер Float
Другое решение, которое работает во всех современных браузерах и обратно в IE7, заключается в перемещении родительского контейнера.
Это не всегда может быть практичным, потому что плавающий родительский div может повлиять на другие части вашего макета страницы.
Метод № 3: Добавить клиринг Div ниже плавающих элементов
Метод № 4: Добавить Clearing Div к родительскому элементу Это решение довольно пуленепробиваемо как для старых, так и для новых браузеров.
с https://www.lockedownseo.com/parent-div-100-height-child-floated-elements/
источник
Я использую этот CSS для родителя, и он работает:
источник
вы управляете с помощью
overflow:hidden;
свойства в CSSисточник