Похоже, это должен быть дубликат - я нашел много похожих вопросов - но ни один не дал мне ответа, который работал. Если я пропустил один, укажите мне, и я удалю этот.
У меня есть абсолютно позиционный элемент div, содержащий несколько дочерних элементов div. Я хочу, чтобы контейнер расширялся до ширины самого широкого дочернего элемента, а все остальные дочерние элементы - до той же ширины. Контейнер должен иметь минимальную ширину и максимальную высоту; если детей слишком много, следует прокрутить.
Так что это похоже на поведение выпадающего списка, хотя это используется в другом контексте.
Решение, которое я придумал, работает на Chrome, Firefox и IE8, но не на IE7 (стандартном режиме), где дочерние элементы не расширяются до ширины контейнера. Я перепробовал ряд изменений, некоторые из которых заставили детей расширяться, но все это привело к дополнительным проблемам. Как правильно это сделать?
Я создал следующий пример, чтобы проиллюстрировать проблему:
<html>
<head>
<style>
.container {
display: block;
position: absolute;
top: 50px;
left: 50px;
min-width: 100px;
max-height: 100px;
border: 1px solid #999;
overflow-x: hidden;
overflow-y: auto;
}
.entry {
display: block;
width: auto;
height: 20px;
padding: 3px 20px 3px 5px;
white-space: nowrap;
background: #eee;
}
</style>
</head>
<body>
<div class='container'>
<div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRSTUVW</div>
<div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRSTUVWXYZ</div>
<div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRST</div>
<div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQ</div>
<div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRST</div>
<div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRSTUVW</div>
</div>
</body>