我有一个有趣的盒子模型/宽度/继承问题,我很困惑。基本上,这就是我所拥有的:
<table>
<tr>
<td>
<div><input type="text">So the td is at least this big</input></div>
<div>
<button>The Fish Molecular Genetics and Biotechnology Laboratory</button>
<button>Each button must be as wide as the widest one</button>
</div>
</td>
</tr>
<table>
在这个简化的模型中,<td>
具有(并且必须具有)自动宽度,<button>
具有 100% 宽度,display:block;
因此所有按钮将具有相同的宽度,<button>
还有一些填充,几乎所有东西都有box-sizing:border-box;
.
所以,当一个按钮被渲染时,它的框宽度被设置为它包含的文本的宽度。但是哦,等等,它的框宽度是从边框到边框测量的,并且它有一个填充,所以文本实际上换行到下一行。由于上述简化模型中不明显的许多充分理由,它必须是边界框。并且 td 必须具有自动宽度,因为按钮会根据文本框中的内容实时更改。