Как упорядочить и оформить дочерние столбцы динамической высоты и ширины таким образом, чтобы родительский элемент имел правильные размеры, без использования таблиц?

#javascript #html #css

#javascript #HTML #css — код #css

Вопрос:

Извините, я знаю, что заголовок не очень разборчив (или даже полон). Это должно быть лучше, чем слова:

пример макета

Обратите внимание, что x и y являются динамическими высотами, основанными на содержимом этих дочерних элементов, и нет никакой гарантии, что один будет больше другого.

Я не хочу использовать таблицы и не хочу полагаться на CSS3 (для таких решений, как calc.) Я думаю, это означает, что один из двух столбцов должен быть удален из «статического» макета из-за требования к динамической ширине. И из-за этого, я думаю, это означает, что за пределами Javascript нет никакого способа увеличить размер родительского контейнера до максимальной высоты его дочерних столбцов.

Я надеюсь, что кто-нибудь докажет, что я неправ, потому что я бы хотел сделать это в CSS. Спасибо, замечательное сообщество SO!

Ответ №1:

ДЕМОНСТРАЦИЯ

 <div id="wrapper">
    <div id="sidebar"></div>
    <div id="main"></div>
</div>
  
 #wrapper, #main{
    overflow: hidden;
}
#sidebar{
    float: left;
    width: 100px;
}
  

Комментарии:

1. Быстрый последующий вопрос: почему именно overflow: hidden в #main имеет такое поведение, которое он делает?