I am sure this problem has been asked before but I cannot seem to find the answer.
I have the following markup:
<div id="foo">
<div id="bar">
here be dragons
</div>
</div>
My desire is to make foo's width = 600px (width: 600px;) and to make bar have the following behaviors:
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right: 2px;
outerWidth: 100%;
In other words instead of setting width of bar to "592px" I would like to set the outer width of bar to 100% so that it is computed to 592px. The importance here is that I can change foo's width to 800px and bar will calculate when rendered instead of me having to do the math for all these instances manually.
Is this possible in pure css?
Some more fun with it:
- What if #bar is a table?
- What if #bar is a textarea?
What if #bar is an input?
What if #foo is a td? (does this change the problem or the problem is identical?)
So far the table#bar, input#bar has been discussed. I have not seen a good solution for textarea#bar. I Think a textarea with no border/margin/pading with a div wrap might work with the div styled to work as borders for the textarea.