`
Java_1010
  • 浏览: 8765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

元素外边距margin介绍

 
阅读更多

在上一篇中简单介绍了内边距(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的介绍到此结束。

只要你够勤奋,胜利就在你面前!

 

  • 大小: 2.9 KB
  • 大小: 27.9 KB
  • 大小: 2.4 KB
  • 大小: 2.5 KB
  • 大小: 1.7 KB
  • 大小: 2.6 KB
  • 大小: 20 KB
  • 大小: 5.6 KB
分享到:
评论

相关推荐

    使用HTML开发商业网站-块元素垂直外边距的合并课件.pptx

    例如,如果父元素有0的`margin-top`,而子元素的`margin-top`是40px,那么父元素的实际外边距将会被扩展到40px,这样可以使得子元素与父元素的其他内容保持一定的间距。 然而,如果父元素有非零的上内边距或边框,...

    外边距折叠1

    在CSS布局中,外边距折叠(Margin Collapsing)是一个重要的概念,它涉及到元素间的垂直间距处理。这个现象主要发生在相邻元素的垂直外边距上,尤其是兄弟元素和父子元素之间的关系。我们来深入探讨这个主题。 首先...

    外边距+内边距

    2. **`margin`(外边距)**:用于控制元素与周围元素之间的间距,可以帮助实现居中等效果。 3. **`padding`(内边距)**:用于控制元素内部的空间,调整时需注意元素尺寸的变化。 正确理解和运用这些属性对于构建...

    盒模型的介绍,以及margin(外边距)padding(内边距)的使用.zip

    4. **外边距(Margin)**:边框之外的空间,用于调整元素与其他元素之间的距离。`margin`属性用于设置外边距,同样有上、右、下、左四个方向。 在CSS中,有两种盒模型:标准盒模型(W3C盒模型)和IE盒模型(怪异盒...

    CSS的margin和padding

    例如,当一个元素的第一个子元素具有`margin-top`时,这个外边距可能会与父元素的顶部外边距合并,导致父元素与其相邻元素之间的间距改变。 **块元素与内联元素的差异** 在块元素中,`margin`通常会影响元素的位置...

    如何解决外边距margin叠加的问题探讨

    在CSS布局中,经常会遇到块级元素垂直外边距(margin)发生叠加的问题,这通常称为margin叠加或外边距折叠。当两个或多个毗邻的块级元素垂直方向上的margin相遇时,它们会以较大者的margin值作为一个统一的margin值...

    详解css外边距折叠(margin collapsing)

    CSS中的外边距折叠指的是相邻的两个或多个块级元素的外边距(margin)会合并成一个外边距。这种情况在块级元素垂直排列时尤为常见,比如相邻兄弟元素之间、父元素与第一个或最后一个子元素之间以及空的块级元素之间...

    解决margin 外边距合并问题

    在网页布局设计中,CSS(层叠样式表)的margin外边距合并是一个常见的问题,尤其是在元素间的间距处理上。这种现象通常被称为“外边距塌陷”(Margin Collapsing),它涉及到相邻或嵌套元素的外边距计算方式。下面...

    Css中内边距、边框和外边距的关系.docx

    外边距(Margin)位于边框之外,用于调整元素与其他元素之间的距离。默认情况下,外边距是透明的,不会影响其他元素的可见性。`margin`属性可用于设置外边距,例如`margin: 10px;`将创建上下左右各10像素的外边距。 ...

    详解CSS外边距折叠引发的问题

    第二种:父元素和子元素(或者最后一个元素)的外边距 第三种:空的块级元素的上下外边距 折叠的根本原因: margin之间直接接触,没有阻隔 折叠后外边距的计算: 1.如果两个外边距都是正值,折叠后的外边距取较大的...

    CSS 外边距(margin)重叠及防止方法

    在CSS布局中,外边距(margin)的重叠是一个常见的现象,特别是在处理多个垂直相邻的块级元素时。按照W3C规范,当两个或多个块级元素的垂直外边距相遇,它们的边界会合并,结果的外边距宽度将是这些外边距中的最大值...

    css中margin的缩写

    其中,`margin`属性是CSS中最常用的一个属性之一,用于设置元素外边距,即元素与其他元素之间的空白距离。为了简化CSS代码编写过程,提高代码可读性及维护性,CSS允许对`margin`属性进行缩写。 #### Margin属性的...

    margin折叠

    在前端开发中,“margin折叠”是一个重要的CSS布局概念,它涉及到元素之间的外边距合并,对页面布局有显著影响。当我们设置多个相邻元素的外边距(margin)时,浏览器并不会简单地将这些外边距相加,而是遵循一定的...

    CSS margin(外边距)

    CSS margin(外边距)属性定义元素周围的空间。 margin margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。 margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。 ...

    常用技巧margin负外边距的使用介绍

    CSS中的负外边距(negative margin)是一种强大的布局技巧,对于前端开发者来说是不可或缺的知识点。负外边距能够使元素在文档流中产生偏移,但与相对定位不同,它不会占据原本的空间,而是会让后面的元素填充这些...

    JavaScript设置Div的margin参数

    margin 属性用于设置元素的外边距,而 JavaScript 可以帮助我们动态地设置元素的 margin 属性。 margin 属性可以接受一个、两个、三个或四个参数,每种情况下 margin 的含义都不同。 一个参数 当我们设置 margin ...

    CSS外边距合并代码

    在CSS布局中,外边距(Margin)是一个重要的概念,它指的是元素边框之外的空白区域,用于控制元素之间的空间。外边距合并是CSS布局中一个常见的现象,特别是涉及到元素垂直排列时。当我们为相邻元素设置外边距时,...

    CSS重要属性之 margin 属性知识大整合(必看篇)

    CSS中的margin属性是控制元素外边距的重要工具,它能够影响元素与其它元素间的距离,从而对页面布局产生影响。本文将详细梳理margin属性相关的核心知识点。 首先,margin属性是CSS中非常重要的一个属性,它允许...

    margin-top在火狐和IE的区别

    然而,Firefox和IE对`margin-top`的处理方式有所不同,尤其是在某些特定情况下,Firefox可能会将子元素的`margin-top`传递给父元素,使得父元素的顶部外边距受到影响,这被称为“margin绑架”现象。而IE通常不会表现...

Global site tag (gtag.js) - Google Analytics