#css
#css
Вопрос:
Мне нужно три divs в одной строке.
Один имеет размер 200 пикселей, второй 300 пикселей, и последним div должно быть то, что осталось.
Почему мой последний div в новой строке?
<div style="float: left; width: 200px; background: #223355">a</div>
<div style="float: left; width: 300px; background: #223344">b</div>
<div style="float: left; width: 100%; background: #334455">c</div>
Ответ №1:
КАК говорили другие, 100% — это 100% ширины страницы.. но я не согласен с пользователем, который говорит, что это невозможно сделать с помощью «простого» CSS
<div style="float: left; width: 200px; background: #223355">a</div>
<div style="float: left; width: 300px; background: #223344">b</div>
<div style="overflow: hidden; background: #334455">c</div>
Ответ №2:
Разве вам не нужно просто удалить float: left; в последнем div, чтобы он работал?
Комментарии:
1. да, но любой текст в последнем «столбце» будет перенесен ниже первых двух, если вы также не добавите
overflow: hidden;
— зависит от варианта использования на самом деле
Ответ №3:
Потому что, указывая width: 100%
, вы сказали третьему разделению div
заполнить всю ширину страницы, а не только то, что осталось. Добавив пару оболочек div
, вы можете получить что-то вроде этого:
<div style="float: left; width: 100%">
<div style="margin-left: 500px; background: #334455">c</div>
</div>
<div style="float: left; width: 500px; margin-left: -100%">
<div style="width: 300px; float: left; background: #223355">a</div>
<div style="width: 200px; float: right; background: #223344">b</div>
</div>
Который должен отображаться так, как вы этого хотите.
Ответ №4:
Потому что вы установили для него ширину 100%. Относительная ширина, такая как ваш процент, применяется к ширине РОДИТЕЛЬСКОГО элемента. Таким образом, если бы ваш контейнер для этих 3 разделов был размером 600 пикселей, то в итоге ваш третий div занял бы 100% от 600 пикселей, а не «оставшееся» пространство, которое заняли два других элемента.
То, что вы хотите, не может быть достигнуто с помощью простого CSS. Вам нужно было бы вычислить оставшееся пространство с помощью Javascript и установить ширину третьего div таким образом, или также сделать его фиксированной шириной.