美文网首页
论负margin对浮动元素的影响

论负margin对浮动元素的影响

作者: 郑哲明 | 来源:发表于2016-07-02 21:23 被阅读402次

本文版权归郑哲明和饥人谷所有,转载请注明来源


keywords: 负margin、浮动元素。


预警:下文仅仅是本人猜想,欢迎拍砖。

我们都知道,负margin可以使元素或其相邻元素(右边或下面)移动,但具体为什么会产生这种现象呢?浏览器是又如何处理负margin的?只有清楚了这两个问题,才能明白负margin对浮动元素的影响,比如:

负margin对浮动元素的影响

看起来,浮动元素脱离普通文档流之后,似乎彼此间形成了通路,相互间可以利用负margin移动。


负margin对浮动元素的影响.gif

但其中的原理真的是这样吗?

在浏览器中,最重要的概念莫过于盒模型,任何元素都会有一个盒子,可以这样说,浏览器渲染出的页面只不过是一群盒子的有序排列而已。我们知道,一个盒子包括这样几个部分:margin、border、padding、content。

无论是行内元素还是块级元素、浮动元素等,它们的盒子本质上没有什么区别。一个元素所占据的空间就是盒子所占据的空间。因此,负margin移动元素的原理也就水落石出了:负margin会缩小或扩大盒子所占据的空间。

当元素使用负margin-left:


负marign-left.gif

盒子空间减少,当然就向右移动,挨着包含块的边框排列了,但同时,元素的宽高没变,因此视觉上看,元素的大小没有变化。其余负marign同理。

负margin对浮动元素的影响也逃脱不了上述原理,就不具体演示了。

这里提示一点,负margin-left与负margin-right有些许不同(top和bottom同理):
负margin-left无下限,负margin-right有下限,为盒子的原始大小。
至于两者移动方向的区别,我想,也比较好理解。

另外,如果元素宽度不固定,而是平铺整行,使用负margin会扩大内容宽度。

lazy:(……………………

相关文章

  • 论负margin对浮动元素的影响

    本文版权归郑哲明和饥人谷所有,转载请注明来源 keywords: 负margin、浮动元素。 预警:下文仅仅是本人...

  • 负边距,三栏布局

    负边距在让元素产生偏移和 position:relative有什么区别? 负margin会使相邻的浮动元素后inl...

  • CSS浮动和负margin的对比,圣杯布局,双飞翼布局

    浮动 VS 负margin 对于相邻的两个浮动元素,如果因为空间不够导致第二个浮动元素下移,可以通过给第二个浮动元...

  • 负值margin及其在圣杯布局上的应用

    负值margin相对少见,这里对它进行系统介绍下。(一)在非浮动元素上 在非浮动元素上设置负值margin,效果按...

  • css布局-浮动,负margin,圣杯/双飞翼布局

    1. 浮动 vs 负margin 对于相邻的两个浮动元素,如果因为空间不够导致第二个浮动元素下移,可以通过给第二个...

  • 双飞翼布局

    三栏布局(两栏布局):侧栏宽度固定,中间的主内容区域宽度自适应主要原理,对浮动元素设置 负margin = 自身宽...

  • 圣杯布局

    三栏布局(两栏布局):侧栏宽度固定,中间的主内容区域宽度自适应主要原理,对浮动元素设置 负margin = 自身宽...

  • CSS样式布局

    负边距与浮动布局 负边距 所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-...

  • 浮动,定位与BFC详解

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素的特征,对普通元素的影响:一个...

  • CSS负margin的影响

    原文 博客原文 相关文章 CSS负边距margin的应用 大纲 1、负边距对元素自身的影响2、负边距在普通文档流中...

网友评论

      本文标题:论负margin对浮动元素的影响

      本文链接:https://www.haomeiwen.com/subject/lybqjttx.html