在上一篇中简单介绍了内边距(padding),今天要说的是元素的外边距(margin)
元素想要和其他元素有间距的话可以使用padding,但是padding会改变元素的大小。我们也可以使用margin来增加间距。我们把人体比作元素,那么margin就是我们的气场。
margin与padding相同,分为4个方向,分别为:
margin-top:上边距
margin-right:右边距
margin-bottom:下边距
margin-left:左边距
示例如下所示:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>4个方向的margin</title> <style> .box1{ width: 100px; height: 100px; background: red; } .box2{ width: 100px; height: 100px; background: blue; /*上边距*/ margin-top: 10px; margin-left: 20px ; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
效果如下所示:
margin的值也可以是负数,如下所示:
当同级元素在垂直方向使用了margin时,情况会有一些变化,代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>4个方向的margin</title> <style> .box1{ width: 100px; height: 100px; background: red; /*下边距*/ margin-bottom: 20px; } .box2{ width: 100px; height: 100px; background: blue; /*上边距*/ margin-top: 10px; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
效果如下:
可以看出,当同时定义了margin-top和margin-bottom时在同为正数时仅采用大的数值。
继续来看负数的情况:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>4个方向的margin</title> <style> .box1{ width: 100px; height: 100px; background: red; /*下边距*/ margin-bottom: -80px; } .box2{ width: 100px; height: 100px; background: blue; /*上边距*/ margin-top: -10px; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
效果如下所示:
从具体的效果可以看出,在均为负数时,取的事绝对值大的进行处理。
如果为一正一负呢?请看代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>4个方向的margin</title> <style> .box1{ width: 100px; height: 100px; background: red; /*下边距*/ margin-bottom: 11px; } .box2{ width: 100px; height: 100px; background: blue; /*上边距*/ margin-top: -10px; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
效果如下所示:
可以看出,当为一正一负时,是由数字相加后的结果进行处理。
margin还可以用来处理元素居中问题:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>4个方向的margin</title> <style> .box1{ width: 100px; height: 100px; background: red; } .box2{ width: 100px; height: 100px; background: blue; /*设置垂直方面是20px间距,水平方向是auto(自动居中)*/ margin: 20px auto; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
效果如下图所示:
设置了水平方向为auto,则元素就会自动居中显示。
当元素为父子关系时,子元素在设置了垂直方向的margin时会将此margin自动传递给父级,由父级展示出相应的效果。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>4个方向的margin</title> <style> .box1{ width: 100px; height: 100px; background: red; } .box2{ width: 50px; height: 50px; background: blue; /*子元素定义了margin-top*/ margin-top: 20px; } </style> </head> <body> <div class="box1"> <div class="box2"></div> </div> </body> </html>
效果如下图所示:
从上图可以看出,子元素box2的上边距直接传递到了父级box1,则变成了box1的上边距。
如果我们确实是要box2距离box1上边10px,那么就要使用padding来进行处理。
外边距margin的介绍到此结束。
只要你够勤奋,胜利就在你面前!
相关推荐
例如,如果父元素有0的`margin-top`,而子元素的`margin-top`是40px,那么父元素的实际外边距将会被扩展到40px,这样可以使得子元素与父元素的其他内容保持一定的间距。 然而,如果父元素有非零的上内边距或边框,...
在CSS布局中,外边距折叠(Margin Collapsing)是一个重要的概念,它涉及到元素间的垂直间距处理。这个现象主要发生在相邻元素的垂直外边距上,尤其是兄弟元素和父子元素之间的关系。我们来深入探讨这个主题。 首先...
2. **`margin`(外边距)**:用于控制元素与周围元素之间的间距,可以帮助实现居中等效果。 3. **`padding`(内边距)**:用于控制元素内部的空间,调整时需注意元素尺寸的变化。 正确理解和运用这些属性对于构建...
4. **外边距(Margin)**:边框之外的空间,用于调整元素与其他元素之间的距离。`margin`属性用于设置外边距,同样有上、右、下、左四个方向。 在CSS中,有两种盒模型:标准盒模型(W3C盒模型)和IE盒模型(怪异盒...
例如,当一个元素的第一个子元素具有`margin-top`时,这个外边距可能会与父元素的顶部外边距合并,导致父元素与其相邻元素之间的间距改变。 **块元素与内联元素的差异** 在块元素中,`margin`通常会影响元素的位置...
在CSS布局中,经常会遇到块级元素垂直外边距(margin)发生叠加的问题,这通常称为margin叠加或外边距折叠。当两个或多个毗邻的块级元素垂直方向上的margin相遇时,它们会以较大者的margin值作为一个统一的margin值...
CSS中的外边距折叠指的是相邻的两个或多个块级元素的外边距(margin)会合并成一个外边距。这种情况在块级元素垂直排列时尤为常见,比如相邻兄弟元素之间、父元素与第一个或最后一个子元素之间以及空的块级元素之间...
在网页布局设计中,CSS(层叠样式表)的margin外边距合并是一个常见的问题,尤其是在元素间的间距处理上。这种现象通常被称为“外边距塌陷”(Margin Collapsing),它涉及到相邻或嵌套元素的外边距计算方式。下面...
外边距(Margin)位于边框之外,用于调整元素与其他元素之间的距离。默认情况下,外边距是透明的,不会影响其他元素的可见性。`margin`属性可用于设置外边距,例如`margin: 10px;`将创建上下左右各10像素的外边距。 ...
第二种:父元素和子元素(或者最后一个元素)的外边距 第三种:空的块级元素的上下外边距 折叠的根本原因: margin之间直接接触,没有阻隔 折叠后外边距的计算: 1.如果两个外边距都是正值,折叠后的外边距取较大的...
在CSS布局中,外边距(margin)的重叠是一个常见的现象,特别是在处理多个垂直相邻的块级元素时。按照W3C规范,当两个或多个块级元素的垂直外边距相遇,它们的边界会合并,结果的外边距宽度将是这些外边距中的最大值...
其中,`margin`属性是CSS中最常用的一个属性之一,用于设置元素外边距,即元素与其他元素之间的空白距离。为了简化CSS代码编写过程,提高代码可读性及维护性,CSS允许对`margin`属性进行缩写。 #### Margin属性的...
在前端开发中,“margin折叠”是一个重要的CSS布局概念,它涉及到元素之间的外边距合并,对页面布局有显著影响。当我们设置多个相邻元素的外边距(margin)时,浏览器并不会简单地将这些外边距相加,而是遵循一定的...
CSS margin(外边距)属性定义元素周围的空间。 margin margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。 margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。 ...
CSS中的负外边距(negative margin)是一种强大的布局技巧,对于前端开发者来说是不可或缺的知识点。负外边距能够使元素在文档流中产生偏移,但与相对定位不同,它不会占据原本的空间,而是会让后面的元素填充这些...
margin 属性用于设置元素的外边距,而 JavaScript 可以帮助我们动态地设置元素的 margin 属性。 margin 属性可以接受一个、两个、三个或四个参数,每种情况下 margin 的含义都不同。 一个参数 当我们设置 margin ...
在CSS布局中,外边距(Margin)是一个重要的概念,它指的是元素边框之外的空白区域,用于控制元素之间的空间。外边距合并是CSS布局中一个常见的现象,特别是涉及到元素垂直排列时。当我们为相邻元素设置外边距时,...
CSS中的margin属性是控制元素外边距的重要工具,它能够影响元素与其它元素间的距离,从而对页面布局产生影响。本文将详细梳理margin属性相关的核心知识点。 首先,margin属性是CSS中非常重要的一个属性,它允许...
然而,Firefox和IE对`margin-top`的处理方式有所不同,尤其是在某些特定情况下,Firefox可能会将子元素的`margin-top`传递给父元素,使得父元素的顶部外边距受到影响,这被称为“margin绑架”现象。而IE通常不会表现...