小编典典

溢出:滚动; 在

css

为什么CSS属性overflow:scroll;不能在中正常运行<td>,而overflow:hidden;效果很好?

<table border="1" style="table-layout:fixed; width:100px">
  <tr>
    <td style="overflow:scroll; width:50px;">10000000000000000000000000000000000</td>
    <td>200</td>
    <td>300</td>
  </tr>
</table>

从CSS规范1,2,我不明白为什么。


阅读 281

收藏
2020-05-16

共1个答案

小编典典

我从这里得到了东西!

安德鲁·费多纽克(Andrew Fedoniouk)写道:

这实际上是我的问题:“一个技术原因是溢出属性不适用于表。” -为什么?这是什么原因

我不是专家,但是我相信这只是为了与旧表行为向后兼容。您可以在规范中检查“自动”表布局算法。我很确定该布局算法与溢出属性不兼容(或更准确地说,该布局算法将永远不会导致需要除“可见”之外的任何溢出值)。

是的,这就是为什么我要问。似乎没有正式的理由说明为什么不应该滚动,但是UA供应商似乎在这方面达成了一些沉默的协议。问题也是。

规范在元素方面与您同意。表单元应该尊重溢出,尽管至少Mozilla似乎不这样做。在这种情况下,我无法回答您的问题,尽管我仍然认为答案仍然与旧版渲染有关。

2020-05-16