CSS padding margin border属性详解

图解CSS padding、margin、border属性

W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层。盒模型主要定义四个区域:内容(content)、内边距(padding)、边框(border)和外边距(margin)。对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次、关系和相互影响。这里提供一张盒模型的3D示意图,希望便于你的理解和记忆。

margin:层的边框以外留的空白
background-color:背景颜色
background-image:背景图片
padding:层的边框到层的内容之间的空白
border:边框
content:内容

接下来将讲述HTML和CSS的关键——盒子模型(Box model)。理解Box model的关键便是margin和padding属性,而正确理解这两个属性也是学习用css布局的关键。

注: 为什么不翻译margin和padding? 
原因一: 在汉语中并没有与之相对应的词语; 
原因二: 即使有这样的词语, 由于在编写css代码时, 必须使用margin和padding, 如果我们总用汉语词语代替其来解释的话, 到了实际应用时容易混淆margin和padding的概念。

如果有一点Html基础的话,就应该了解一些基本元素(Element),如p、h1~h6、br、div、li、ul、img等。如果将这些元素细分,又可以分别为顶级(top-level)元素、块级(block-level)元素和内联(inline)元素。

块级元素是构成一个html的主要和关键元素,而任意一个块级元素均可以用Box model来解释说明。
Box Model: 任意一个块级元素均由content(内容)、padding、background(包括背景颜色和图片)、border(边框)、margin五个部分组成。
立体图如下:

平面图如下:

根据以上两图,相信大家对于Box model会有个直观的认识。

以下说明margin和padding属性:
1、margin: 包括margin-top、margin-right、margin-bottom、margin-left,控制块级元素之间的距离,它们是透明不可见的。根据上、 右、下、左的顺时针规则,可以写为 margin: 40px 40px 40px 40px;
为便于记忆,请参考下图:

当上下、左右margin值分别一致, 可简写为:

margin: 40px 40px; 

前一个40px代表上下margin值,后一个40px代表左右margin值。
当上下左右margin值均一致,可简写为:

margin: 40px;

2、Padding: 包括padding-top、padding-right、padding-bottom、padding-left,控制块级元素内部,content与border之间的距离,其代码,简写请参考margin属性的写法。

至此,我们已经基本了解margin和padding属性的基本用法。但是,在实际应用中,却总是发生一些让你琢磨不透的事,而它们又或多或少的与margin有关。

注: 当你想让两个元素的content在垂直方向(vertically)分隔时,既可以选择padding-top/bottom,也可以选择margin-top/bottom,再此Ruthless建议你尽量使用padding-top/bottom来达到你的目的,这是因为css中存在Collapsing margins(折叠的margins)的现象。

Collapsing margins: margins折叠现象只存在于临近或有从属关系的元素,垂直方向的margin中。

详细说明如下: 
如果只提供一个,将用于全部的四条边;
如果提供两个,第一个用于上-下,第二个用于左-右; 
如果提供三个,第一个用于上,第二个用于左-右,第三个用于下; 
如果提供全部四个参数值,将按上-右-下-左的顺序作用于四边。

body { padding: 36px;} //对象四边的补丁边距均为36px
body { padding: 36px 24px; } //上下两边的补丁边距为36px,左右两边的补丁边距为24px
body { padding: 36px 24px 18px; } //上、下两边的补丁边距分别为36px、18px,左右两边的补丁边距为24px
body { padding: 36px 24px 18px 12px; } //上、右、下、左补丁边距分别为36px、24px、18px、12px

原文链接:http://www.cnblogs.com/linjiqin/p/3556497.html

转载于:https://www.cnblogs.com/HDK2016/p/6127856.html

CSS中的margin、border、padding区别相关推荐

  1. CSS中:margin和padding的区别 margin:auto与margin: 0 auto区别

    css中padding和margin的区别 margin 外边距 border 边框 padding 内边距 padding-left:10px; 左内边距.padding-right:10px; 右 ...

  2. css中的margin和padding

    margin属性可以有一到四个值(按照顺时针) margin:20px 30px 40px 50px; 上边距:20px; 右边距:30px; 下边距:40px; 左边距:50px; margin:2 ...

  3. 从零开始学前端 - 7. CSS盒模型 margin和padding详解

    作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...

  4. css里dotted,CSS中dashed和dotted的区别有哪些

    对于刚刚接触css的朋友们来说都会分不清dashed和dotted,那么你知道CSS中dashed和dotted的区别有哪些吗?那么针对这个问题爱站小编就为大家接受CSS中dashed和dotted的 ...

  5. CSS中绝对定位和相对定位的区别及作用

    CSS中绝对定位和相对定位的区别及作用 针对定位的区别及使用我整理一些方法 一.绝对定位 二.相对定位 三.绝对定位与相对定位的区别 四.绝对定位与相对定位的使用 结语 针对定位的区别及使用我整理一些 ...

  6. CSS中background与background-image的区别

    CSS中background与background-image的区别 1.如果只是设置两张背景图不涉及CSS样式那么两者都可以使用 2.如果设置样式那就只能用background,如 以下是不适用ba ...

  7. CSS 中 的 margin、border、padding 区别 (内边距、外边距)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 图解CSS padding.margin.border属性 W3C组织建议把所有网页上的对像都放在一 ...

  8. CSS中的margin、border、padding区别 CSS padding margin border属性详解

    图解CSS padding.margin.border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层 ...

  9. CSS样式表margin和padding的区别

      用css时,首先要做的是把所有的标签margin和padding都清空.这样更容易控制浏览器的布局和兼容浏览器. 清空方法:*{margin:0; padding:0;}         *是通配 ...

  10. css布局margin介绍,深入理解css中的margin属性(推荐)

    之前我一直认为margin属性是一个非常简单的属性,但是最近做项目时遇到了一些问题,才发现margin属性还是有一些"坑"的,下面我会介绍margin的基本知识以及那些" ...

最新文章

  1. 数据化管理在餐饮业中的应用
  2. 【动态规划】背包模型
  3. python twisted教程_python-twisted模块代码实例
  4. HoloLens再添一应用领域!Microsoft和Trimble联手开启设施管理新篇章!
  5. linux shell 判断一个命令是否存在
  6. android 图片操作
  7. 有关JNLP中传SESSIONID为参数的问题
  8. 计算机指令格式哪几部分组成,计算机的指令格式,通常是由()两部分组成。 - 百科题库网...
  9. python根据模板生成pdf文件_程序生成word与PDF文档的方法(python)
  10. 如何在openGauss 2.1.0中使用Job?
  11. postman本地请求ip地址变成ipv6_华为认证-IPv6技术-ICMPv6介绍
  12. oracle 创建数据库表 如果此表存在则删除后再重建
  13. notepad++ 配置C/C++环境
  14. 《大道至简》最后两章读后感
  15. android18lazuli,Free 18 Japan for you on AliExpress.
  16. JVM之垃圾回收机制(GC)
  17. 拼多多商家如何采集整店商品上传?
  18. 一元线性回归(R语言)
  19. Orge配置Debug - 在Mac上利用Homebrew安装指定版本的Cmake
  20. 文件压缩算法详细分析(ZIP)及解压实例解释

热门文章

  1. 支持向量机在风控竞赛数据集上的应用
  2. 数据挖掘著名学者的网站
  3. numpy库学习总结
  4. VS2015 编译程序时无法查找或打开PDB文件
  5. AttributeError: ‘torch.return_types.max‘ object has no attribute ‘dim‘
  6. delphi 算术溢出解决方法_文言文代码算什么?跟着九章算术学Python编程才厉害...
  7. python3.8安装pygame_Python3.8安装Pygame很难?新萌也能轻松搞定安装并运行游戏
  8. FISCO BCOS 区块链 查看代码版本号
  9. 当前读和快照读是什么 区别
  10. ubuntu scp ssh 22: connection refused