Мой вопрос в том, есть ли способ, не использующий javascript, заставить дочерние divs распространяться на границы своего родителя, не превышая эти границы, когда вы не можете заранее знать размер родительского div?
Ниже приведен образец разметки/стилей, демонстрирующий мою проблему. Если вы загрузите его в браузер, вы увидите, что #two и #three оба выходят за пределы их родителя, #one и вызывают появление полос прокрутки.
Моя проблема не столько в полосах прокрутки, сколько в том, что я не знаю, как рассказать дочерние divs о том, что они занимают ширину или высоту, остающуюся для них, а не полную высоту или ширину родительского элемента.
<html>
<head>
<style>
html, body {width:100%;height:100%;margin:0;padding:0;}
.border {border:1px solid black;}
.margin { margin:5px;}
#one {width:100%;height:100%;}
#two {width:100%;height:50px;}
#three {width:100px;height:100%;}
</style>
</head>
<body>
<div id="one" class="border">
<div id="two" class="border margin"></div>
<div id="three" class="border margin"></div>
</div>
</body>