我敢肯定这个问题已经被问过了,但是我似乎找不到答案。
我有以下标记:
<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
我不想将bar的宽度设置为,而是将bar的外部宽度设置为,100%
以便将其计算为592px
。这里的重要性在于,我可以将foo的宽度更改为,800px
并且bar将在渲染时进行计算,而不是我必须手动对所有这些实例进行数学运算。
纯CSS是否有可能?
一些更多的乐趣:
- 如果
#bar
是桌子怎么办? - 如果
#bar
是文本区域怎么办? 如果
#bar
是输入怎么办?如果
#foo
是表格单元格(td
),该怎么办?(这是否改变了问题,或者问题是否相同?)
到目前为止table#bar
,input#bar
已经进行了讨论。我还没有为textarea#bar找到一个好的解决方案。我认为没有边框/边距/填充的自动div
换行的textarea可能与div
样式配合使用,可以作为的边框textarea
。