Редактировать . Отказ от ответственности: это не дает конкретного ответа, как это сделать с разметкой таблицы, однако, поскольку OP гибко подходит для решения, я бы порекомендовал это.
Причина, по которой высота вашего div изменяется, заключается в том, что, поскольку вы не указали высоту, она зависит от содержимого внутри него. Вы можете сделать много вещей, например установить свойства min-height
или max-height
или даже просто установить свойство height
. Однако, если вы не знаете высоту или то, что потенциально может быть в div, вы можете воспользоваться flexbox.
Хотя это не поддерживает устаревшие браузеры, это всего лишь один из способов выполнить то, что вы просите:
.container {
display: flex;
flex-flow: row wrap;
align-items: stretch;
width: 100%;
}
.box {
flex: 0 50%;
background-color: green;
}
/*just for demonstration */
.box:nth-of-type(2) {
background-color: blue;
}
.box:nth-of-type(3) {
background-color: purple;
}
<div class="container">
<div class="box">Box 1 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
</div>
Воспользовавшись align-items: stretch
:
Элементы Flex растягиваются таким образом, чтобы поперечный размер поля поля элемента совпадал с линией при соблюдении ограничений ширины и высоты.
Ссылки
Flexbox