为什么浮动元素和负margin,会造成浮动元素上移,是浮动的哪条标准造成的

在圣杯布局中浮动元素有了margin-left:-100%,只要负的距离是该元素的宽度,元素就可以向上移动。但是如果前一个元素不是浮动的,后一个元素是不会向上的,所以我认为主要原因还是在于浮动,看了http://www.w3help.org/zh-cn/k...,到底是哪几条标准一起作用造成后面同向的元素上移呢?

阅读 2.2k
1 个回答

我是这样理解的,当margin-left为负的盒子可见宽度时,整个元素框宽度是0,所以根据“当前浮动框的定位会受到先前生成的同向浮动框的影响,它们不能相互遮盖。当前浮动框需要紧挨着先前同向浮动框的外边界进行定位,如果当前行空间不足,则折行,放置到它之前浮动框的下面”,盒子就上去了,可见的感觉是相互遮盖的,实际逻辑上是不遮盖的。不知道理解的对不对

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题