有人能向我解释为什么溢出会产生以下效果吗。
在下面的jsfiddle中,我有一个向左浮动的Div,设置了宽度和高度。接下来我有一个Contentdiv。你可以把它看作是一个左导航和一个网站布局的内容。
在内容中,我有两个相同的Div,除了一个有溢出:auto,另一个没有。带有overflow的:auto当前尊重浮动div并缩短其宽度以避免与之冲突。Were是因为另一个只是保持其全宽并在浮动div下方运行。
尽管overflow:auto给出了一个非常用户化的行为,但我不明白它为什么关心浮动项。我认为,如果一个元素有一定的宽度,而里面的内容无法容纳,那么它会执行您要求的行为,但这是将行为应用于元素本身
http://jsfiddle.net/9bEDj/1/
有人能为我澄清这一点吗?并解释为什么会有这种行为,或者它是否真的不应该这样做,这是一种怪癖!
以下是关于浮点/溢出魔术的精彩描述
http://colinaarts.com/articles/the-magic-of-overflow-hidden/
这是预期的行为,具有溢出而非可见的元素应该尊重浮动,因此您可以在不引起任何模糊的情况下使用它
之所以会发生这种情况,是因为设置overflow
会建立一个新的块格式化上下文,并且块格式化上下文不会与浮点值重叠。