从关于盒子模型的css规范:
相邻的垂直边距折叠,除了:
...
水平边距永远不会塌陷。
两个边距相邻当且仅当:
...
both belong to vertically-adjacent box edges, i.e. form one of the following pairs:
top margin of a box and top margin of its first in-flow child
bottom margin of box and top margin of its next in-flow following sibling
bottom margin of a last in-flow child and bottom margin of its parent if the parent has 'auto' computed height
...
请注意,上述规则意味着:
...
建立新块格式化上下文的元素的边距(例如浮动和具有“溢出”而不是“可见”的元素)不会与它们的流入子代一起折叠。
不幸的是,text-overflow: auto
这有点冒险,因为规范说:
汽车
'auto' 值的行为取决于用户代理,但应该为溢出的框提供滚动机制
但是,我查看过的所有浏览器似乎都以以下方式实现它:
该框扩展为以下之间的较小数量:
- 在其容纳盒允许的范围内
- 尽可能多地显示内容而不进行剪辑
然后,如果必须进行剪辑,则添加滚动条。