CSS中margin和padding属性的区别

在CSS中,margin和padding两个属性都可以调整位置,因此比较容易混淆。这篇文章详细分析两者的不同,希望对学习CSS的朋友有帮助。

1. padding

padding的作用是调整当前元素内容(例如文本内容)在元素中的位置。默认内容应该是紧贴元素的边界显示,增加padding后可以增大内容和边界的距离。可看如下代码:

<html>
<head>
<style>
div.x {
  border: 1px solid black;
  background-color: lightblue;
  padding-top: 50px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-left: 80px;
}
div.y {
  border: 1px solid black;
  background-color: lightblue;
}

</style>
</head>
<body>

<h2>Using individual padding properties</h2>

<div class="y">This is a upper section</div> 
<div class="x">This div element has a top padding of 50px, a right padding of 30px, a bottom padding of 50px, and a left padding of 80px.</div>

</body>
</html>

div.y未设置padding,而div.x设置了四个padding属性,其效果如下图:

 大家可以看到在风格为div.y中,文字是紧贴div这个元素范围的边界的,也就是默认文字的高度和<div>所覆盖的高度一致。而在div.y中,增加了padding,文字和边界的距离明显增大了。但是注意:第一个div和第二个div依然是紧紧贴在一起的,中间没有空隙,这是html默认的。如果想增大这两个div的距离,则需要用到margin属性,见2。

2. margin

margin的作用是调整不同元素之间的距离。见如下代码:

<html>
<head>
<style>
div.x {
  border: 1px solid black;
  background-color: lightblue;
  padding-top: 50px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-left: 80px;
}
div.y {
  border: 1px solid black;
  background-color: lightblue;
}
div.z {
  border: 1px solid black;
  background-color: lightblue;
  margin-top: 50px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-left: 80px;
}
</style>
</head>
<body>

<h2>Using individual padding properties</h2>

<div class="y">This is a upper section</div> 
<div class="x">This div element has a top padding of 50px, a right padding of 30px, a bottom padding of 50px, and a left padding of 80px.</div>
<div class="z">This div element has a top margin of 50px, a right padding of 30px, a bottom padding of 50px, and a left padding of 80px.</div>
</body>
</html>

增加了div.z的风格。显示效果如下:

大家可以看到,第三个div的距离和第二个div元素的距离明显增加了。但是因为第三个div未设置padding-top属性,所以它的文字内容是紧贴上边缘的。

3. 总结

padding调整的是一个html元素内部,文本或图片等内容和此html元素边界的距离。

margin调整的是不同的html元素之间的距离。

两者虽然显示效果相似,但是并不一样。尤其是当背景是透明的时候,两者很可能混用。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值