Я уверен, что эта проблема была задана раньше, но я не могу найти ответ.Как сделать ширину CSS для заполнения родительского?
У меня есть следующий код:
<div id="foo">
<div id="bar">
here be dragons
</div>
</div>
Мое желание сделать Foo иметь ширину 600px
(width: 600px;
) и сделать бар имеют следующие варианты поведения:
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right: 2px;
outerWidth: 100%;
Другими словами вместо того, чтобы устанавливать ширину бара на 592px
Я бы хотел установить внешнюю ширину полосы до 100%
так, чтобы она была рассчитана до 592px
. Важность здесь заключается в том, что я могу изменить ширину foo на 800px
, и балл будет вычисляться при визуализации вместо того, чтобы мне приходилось выполнять математику для всех этих случаев вручную.
Возможно ли это в чистом CSS?
более поразвлечься с ней:
- Что делать, если
#bar
это таблица? - Что делать, если
#bar
- это текстовое поле? Что делать, если
#bar
- это вход?Что делать, если
#foo
является ячейкой для таблицы (td
)? (Это изменение проблемы или проблемы идентичны?)
До сих пор table#bar
, input#bar
обсуждался. Я не видел хорошего решения для textarea # bar. Я думаю, что текстовое поле без рамки/поля/заполнения с оберткой div
может работать с div
, созданным для работы в качестве границ для textarea
.
Эй, спасибо. Также с удовольствием с таблицами, решающими кровоточить, хотя в любом случае. Я полагаю, что таблицы имеют такое же поведение, что и divs? –
@Dimitry: Нет, у них есть специальные правила, которые делают их более похожими на 'inline-block', чем элементы' block'. Заметьте, хотя я сказал ** больше как ** не ** так же, как ** :-) Что вы, вероятно, испытываете, так это то, что, если не указано иное, они обычно расширяются, чтобы разместить все столбцы, которые могут быть действительно раздражающими, если некоторые из заголовков/ячейки имеют в них длинный текст без перехвата. – prodigitalson
Спасибо за помощь :) Позвольте мне немного обновить вопрос, чтобы дать более полный обзор проблем и, надеюсь, все обходные пути могут быть перечислены в одном разделе. –