关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » CSS »CSS 外边距 margin属性

    CSS 外边距 margin属性

    2016-01-19 22:16:59 出处:IT技术网
    分享

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

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

    CSS margin 属性

    设置外边距的最简单的方法就是使用 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 元素声明外边距,浏览器可能会自己应用一个外边距。当然,只要你特别作了声明,就会覆盖默认样式。

    值复制

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

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

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

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

    p {margin: 0.5em 1em;}

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

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

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

    CSS 值复制

    换句话说,如果为外边距指定了 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 元素的左外边距设置为 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 会更容易一些。不过,从文档显示的角度看,实际上使用哪种方法都不重要,所以应该选择对自己来说更容易的一种方法。

    提示和注释

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

    CSS 外边距属性

    属性 描述
    margin 简写属性。在一个声明中设置所有外边距属性。
    margin-bottom 设置元素的下外边距。
    margin-left 设置元素的左外边距。
    margin-right 设置元素的右外边距。
    margin-top 设置元素的上外边距。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    Cornell大神Kleinberg的经典教材《算法设计》是最好入门的算法教材

    从 Microsoft 下载中心安装 Windows 7 SP1 和 Windows Server 2008 R2 SP1 之前要执行的步骤

    Llama 2基于UCloud UK8S的创新应用

    火山引擎DataTester:如何使用A/B测试优化全域营销效果

    腾讯云、移动云继阿里云降价后宣布大幅度降价

    字节跳动数据平台论文被ICDE2023国际顶会收录,将通过火山引擎开放相关成果

    这个话题被围观超10000次,火山引擎VeDI如此解答

    误删库怎么办?火山引擎DataLeap“3招”守护数据安全

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术热点

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。