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