我相信这个问题以前也有人问过,但我似乎找不到答案。
我有以下标记:
<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
,当渲染时,bar 将计算,而不必手动计算所有这些实例。
这在纯 CSS 中可能吗?
更有趣的是:
#bar
是一个表呢?#bar
是一个文本区呢?如果 #bar
是一个输入呢?
如果 #foo
是一个表单元格(td
)怎么办? (这会改变问题还是问题相同?)
到目前为止,table#bar
,input#bar
已被讨论。我还没有看到一个很好的解决方案的 textarea # bar。我认为一个没有边框/边缘/填充的文本区域使用 div
包裹可能会与 div
样式一起工作,作为 textarea
的边框。