CSS外边距是围绕在元素边框的空白区域。设置外边距会在元素外创建额外的“空白”。设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位、百分数值甚至负值。

中文名

css外边距外文名

css margin

CSS外边距外边框

编辑

围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”。

设置外边距的最简单的方法就是使用margin属性,这个属性接受任何长度单位、百分数值甚至负值。

CSS外边距属性

编辑

设置外边距的最简单的方法就是使用 margin属性。

margin 属性接受任何长度单位,可以是像素、英寸、毫米或 em。

margin 可以设置为auto。更常见的做法是为外边距设置长度值。下面的声明在 h1 元素的各个边上设置了 1/4 英寸宽的空白:

h1 {margin : 0.25in;}

下面的例子为 h1 元素的四个边分别定义了不同的外边距,所使用的长度单位是像素 (px):

h1 {margin : 10px 0px 15px 5px;}

与内边距的设置相同,这些值是从上外边距 (top) 开始围着元素顺时针旋转的:

margin: top right bottom left

另外,还可以为 margin 设置一个百分比数值:

p {margin : 10%;}

百分数是相对于父元素的 width 计算的。上面这个例子为 p 元素设置的外边距是其父元素的 width 的 10%。

margin 的默认值是 0,所以如果没有为 margin 声明一个值,就不会出现外边距。但是,在实际中,浏览器对许多元素已经提供了预定的样式,外边距也不例外。例如,在支持 CSS 的浏览器中,外边距会在每个段落元素的上面和下面生成“空行”。因此,如果没有为 p 元素声明外边距,浏览器可能会自己应用一个外边距。当然,只要你特别作了声明,就会覆盖默认样式。

CSS外边距值复制

编辑

还记得吗,我们曾经在前两节中提到过值复制。下面我们为您讲解如何使用值复制。

有时,我们会输入一些重复的值:

p {margin: 0.5em 1em 0.5em 1em;}

通过值复制,您可以不必重复地键入这对数字。上面的规则与下面的规则是等价的:

p {margin: 0.5em 1em;}

这两个值可以取代前面 4 个值。这是如何做到的呢 CSS 定义了一些规则,允许为外边距指定少于 4 个值。规则如下:

如果缺少左外边距的值,则使用右外边距的值。

如果缺少下外边距的值,则使用上外边距的值。

如果缺少右外边距的值,则使用上外边距的值。

提供了一些更直观的方法来了解这一点:

换句话说,如果为外边距指定了 3 个值,则第 4 个值(即左外边距)会从第 2 个值(右外边距)复制得到。如果给定了两个值,第 4 个值会从第 2 个值复制得到,第 3 个值(下外边距)会从第 1 个值(上外边距)复制得到。最后一个情况,如果只给定一个值,那么其他 3 个外边距都由这个值(上外边距)复制得到。

利用这个简单的机制,您只需指定必要的值,而不必全部都应用 4 个值,例如:

h1 {margin: 0.25em 1em 0.5em;}/* 等价于 0.25em 1em 0.5em 1em */

h2 {margin: 0.5em 1em;}/* 等价于 0.5em 1em 0.5em 1em */

p {margin: 1px;}/* 等价于 1px 1px 1px 1px */

这种办法有一个小缺点,您最后肯定会遇到这个问题。假设希望把 p 元素的上外边距和左外边距设置为 20 像素,下外边距和右外边距设置为 30 像素。在这种情况下,必须写作:

p {margin: 20px 30px 30px 20px;}

这样才能得到您想要的结果。遗憾的是,在这种情况下,所需值的个数没有办法更少了。

再来看另外一个例子。如果希望除了左外边距以外所有其他外边距都是 auto(左外边距是 20px):

p {margin: auto auto auto 20px;}

同样的,这样才能得到你想要的效果。问题在于,键入这些 auto 有些麻烦。如果您只是希望控制元素单边上的外边距,请使用单边外边距属性。

简要理解备注:

p {margin: 20px 30px 40px 50px;}

四个数值表示的外边距为:上--右--下--左

p {margin: 20px 30px 40px;}

三个数值表示的外边距为:上--左右--下

p {margin: 20px 30px;}

两个数值表示的外边距为:上下--左右

CSS外边距边距属性

编辑

您可以使用单边外边距属性为元素单边上的外边距设置值。假设您希望把 p 元素的左外边距设置为 20px。不必使用 margin(需要键入很多 auto),而是可以采用以下写法:

p {margin-left: 20px;}

您可以使用下列任何一个属性来只设置相应上的外边距,而不会直接影响所有其他外边距:

margin-top

margin-right

margin-bottom

margin-left

一个规则中可以使用多个这种单边属性,例如:

h2 {margin-top: 20px;margin-right: 30px;margin-bottom: 30px;margin-left: 20px;}

当然,对于这种情况,使用 margin 可能更容易一些:

p {margin: 20px 30px 30px 20px;}

不论使用单边属性还是使用 margin,得到的结果都一样。一般来说,如果希望为多个边设置外边距,使用 margin 会更容易一些。不过,从文档显示的角度看,实际上使用哪种方法都不重要,所以应该选择对自己来说更容易的一种方法。

CSS外边距提示和注释

编辑

提示:Netscape 和 IE 对 body 标签定义的默认边距(margin)值是 8px。而 Opera 不是这样。相反地,Opera 将内部填充(padding)的默认值定义为 8px,因此如果希望对整个网站的边缘部分进行调整,并将之正确显示于 Opera 中,那么必须对 body 的 padding 进行自定义。

词条图册

更多图册

html+p外边距,CSS外边距相关推荐

  1. php内外边距,CSS 内边距

    CSS 内边距 元素的内边距在边框和内容区之间.控制该区域最简单的属性是 padding 属性. CSS padding 属性定义元素边框与元素内容之间的空白区域. CSS padding 属性 CS ...

  2. css怎样清除外边距,CSS 外边距

    CSS 外边距 围绕在元素边框的空白区域是外边距.设置外边距会在元素外创建额外的"空白". 设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位.百分数值 ...

  3. 在html中设置外边距,CSS外边距设置属性margin用法

    本文向大家描述一下CSS外边距属性margin的用法,设置外边距的最简单的方法就是使用margin属性,这个属性接受任何长度单位.百分数值甚至负值,相信本文介绍一定会让你有所收获. CSS外边距 围绕 ...

  4. html怎么设置左侧内边距,CSS 内边距(Padding)

    CSS 内边距(Padding) CSS 内边距(Padding)属性定义元素边框与元素内容之间的空间.有时候也称CSS 内边距(Padding)为 填充(Padding). 内边距(Padding) ...

  5. html css外边距,CSS外边距合并

    块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距,这种行为称为外边距塌陷(margin collapsing),有的地方翻译为外边距合并. 发生外边距塌陷的三种 ...

  6. Css内边距与外边距

    Css内边距与外边距 Css内边距 Css外边距margin Css外边距margin 设置外边距最简单的方法就是margin属性.margin属性接受任何长度单位,可以是像素,英寸,毫米或em ma ...

  7. html外边距有哪些,css外边距是什么?css外边距属性的介绍

    在学习css的时候,会css外边距这一概念,所以,css外边距是什么呢?边框以外就是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素,接下来本篇文章将来给大家介绍关于css外边距属性的相关内容. ...

  8. CSS外边距折叠引发的问题

    CSS外边距折叠 第一种:两个块级元素的上下边距折叠 第二种:父元素和子元素(或者最后一个元素)的外边距 第三种:空的块级元素的上下外边距 折叠的根本原因: margin之间直接接触,没有阻隔 折叠后 ...

  9. css内边距与外边距的区别

    你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素.内联元素中的区别?什么时候该用 padding而不是margin?你知道负margin吗?你 ...

最新文章

  1. 报告解读丨基于消费者洞察的鞋服品牌数字化营销新思路
  2. 异常解决(一)-- RuntimeError: expected device cpu but got device cuda:0
  3. python文件写入字典格式输出_Python把对应格式的csv文件转换成字典类型存储脚本的方法...
  4. 二分类预测用的几个预测结果精确度计算方法
  5. html播放切片,[Html/Css]网页切片
  6. 《大数据》第1期“论坛”——数据技术时代的未来
  7. java 泛型参数_[基础]-Java泛型
  8. python程序语法元素的描述_Python入门——Python程序语法元素
  9. “云湖共生 • 数智未来”数据湖应用实践白皮书重磅发布
  10. 6.郝斌C语言笔记——流程控制
  11. AndroidX(1)androidx.core.core:1.0.0解析
  12. java出现报错java.lang.IndexOutOfBoundsException
  13. C++ protected 解析
  14. 信息系统项目管理师考点之上午理论知识点总结
  15. uniapp、uniCloud实现微信公众号自动查询淘宝京东优惠券制作过程
  16. Maven依赖编译失败报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
  17. JavaWeb基础5——HTTP,TomcatServlet
  18. 人脸识别库face_recognition安装简单教程
  19. 如何提高表达能力和逻辑思维能力
  20. 使用 dotnet *.dll启动项目,修改产品模式为开发模式

热门文章

  1. 网络教学资源平台设计与实现--用例图(初稿)
  2. 全球自动驾驶公司排名,特斯拉再次垫底
  3. Sa-Token(Java鉴权系统)
  4. 扎心的Sqlserver 2008 R2的卸载
  5. 拉勾网基于 UK8S 平台的容器化改造实践
  6. Userinit.exe病毒解决方案
  7. 基于JAVA家乡旅游文化推广网站计算机毕业设计源码+数据库+lw文档+系统+部署
  8. 如何将lotus 通讯簿导入到outlook 2003中
  9. IT咨询服务-客户案例(四):根据图片等素材,动态生成个性化图片
  10. ZYNQ开发学习笔记(一):BOOT.bin,fsbl文件,将程序固化到板上的QSPI_Flash中