【CSS】margin 的使用

这篇具有很好参考价值的文章主要介绍了【CSS】margin 的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

margin 的使用

margin 用于设置元素的外边距。


margin 是一个简写属性,包括以下 4 个子属性:

  • margin-top:上外边距。
  • margin-right:右外边距。
  • margin-bottom:下外边距。
  • margin-left:左外边距。

margin 可以设置 1 ~ 4 个属性值:

  1. 一个属性值:一起设置上下左右。
  2. 两个属性值:分别设置上下、左右。
  3. 三个属性值:分别设置上、左右、下。
  4. 四个属性值:分别设置上右下左。

margin 的值可以是以下几种:

  • <length>:使用一个有单位的长度值。可以使用负值。
  • <percentage>:使用一个百分比值。相对于元素的包含块的宽度。
  • auto:让浏览器自动计算外边距的大小,通常用于设置块级元素水平居中或平均分配空间。
  • inherit:继承父元素的外边距。
div {
    width: 500px;
    height: 500px;
    background-color: antiquewhite;
    margin: 0 auto; /* 设置块级元素水平居中 */
}



margin 合并问题

相邻元素之间

如果两个元素是同一父元素的相邻子元素,那么它们的上下外边距会合并。


可能会发生的情况:

  1. 两个值为正,取较大值。
  2. 一正一负,取相加的结果。
  3. 两个都为负,取绝对值较大的负数。

在实际开发中,我们只需要留意这种情况的发生即可,不需要去解决。


父子元素之间

如果一个元素的上外边距和它的一个或多个后代元素的上外边距之间没有边框、内边距、内联内容来分隔;或者一个元素的下外边距和它的一个或多个后代元素的下外边距之间没有边框、内边距、内联内容、高度或最小高度来分隔,那么这些外边距会合并。合并后的外边距会出现在父元素的外面。


BFC(Block Formatting Context,块级格式化上下文)可以解决父子元素之间的 margin 合并问题。

会发生父子元素之间的 margin 合并问题的原因是,父元素无法计算出自身的边界。当一个元素形成 BFC 时,它会创建一个独立的渲染环境,使得元素内部的布局与外部元素隔离开来。在创建独立的渲染环境时,父元素就能计算出自身的边界,所以可以解决父子元素之间的 margin 合并问题。


以下类型的元素能形成 BFC:文章来源地址https://www.toymoban.com/news/detail-547472.html

  1. 根元素(<html>)。
  2. float 不为 none 的元素。
  3. position 为 absolute / fixed 的元素。
  4. display 为 inline-block 的元素。
  5. overflow 值不为 visible 的块级元素。
  6. 弹性盒子(display 为 flex / inline-flex),其中的子元素不是弹性盒子、网格容器或表格容器(display 为 table / inline-table)。
  7. 网格容器(display 为 grid / inline-grid),其中的子元素不是弹性盒子、网格容器或表格容器(display 为 table / inline-table)。
<div class="bfc">
    <div></div>
    <div></div>
</div>
.bfc {
    background: antiquewhite;
    overflow: hidden; /* 创建新的 BFC */
}

.bfc div {
    width: 50px;
    height: 50px;
    background: wheat;
}

.bfc div:nth-child(1) {
    margin: 10px;
}

.bfc div:nth-child(2) {
    margin: 20px;
}

到了这里,关于【CSS】margin 的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS之margin塌陷

    CSS中的外边距塌陷(Margin Collapse)问题是指在垂直方向上,当两个或多个块级元素的边距相遇时,它们之间的距离不是它们各自边距的总和,而是其中的最大值。这种现象主要出现在块级元素的上下外边距之间。 .ac和.bc有上下margin但是只生效了一个最大值。 外边距塌陷只发

    2024年02月21日
    浏览(34)
  • 前端基础HTML、CSS--6(CSS-3)

    1.CSS的三大特性 CSS有三个非常重要的三个特性:层叠性、继承性、优先级。 1.1层叠性 相同选择器给设置相同的样式 ,此时一个样式就会 覆盖(层叠) 另一个冲突的样式。层叠性主要解决样式冲突的问题。 层叠性原则: ·样式冲突,遵循的是 就近原则 ,哪个样式离结构近

    2023年04月08日
    浏览(47)
  • CSS中的margin与padding

    目录  一、margin 1.概念及作用 2.基本语法 3.margin的用法 二、padding 1.介绍 2.基本语法及要求 3. 用法 4.内边距和元素宽度 讲这些之前,先看一张图,便于理解  一、margin 1.概念及作用 CSS   margin   属性用于在任何定义的边框之外,为元素周围创建空间。 通过 CSS,您可以完全控

    2024年02月11日
    浏览(37)
  • web前端——HTML+CSS

    HTML CSS CSS进阶 CSS盒子模型 定位装饰 CSS精灵图 目录 基础认识  HTML  一、HTML概念 二、HTML页面固定结构  三、HTML标签的结构   四、标签学习 1、排版标签 1)标题标签  2)段落标签  3)换行标签 4)水平线标签  2、文本格式化标签  3、媒体标签 1)图片标签 2)路径  3)音

    2024年01月16日
    浏览(56)
  • 前端(HTML + CSS + JS)

    HTML是超文本标记语言,超文本是指文本、声音、图片、视频、表格、链接等等。标记表示由许许多多的标签组成。HTML页面是运行到浏览器上的。 (1)HTML 文件基本结构 html 标签是整个 html 文件的根标签(最顶层标签) head 标签中写页面的属性 body 标签中写的是页面上显示的内

    2024年02月05日
    浏览(49)
  • CSS样式前端HTML页面常用CSS效果实现及其相关配置信息------前端入门基础教程

    !DOCTYPE html !-- 这是HTML的注释 -- html lang=\\\"en\\\" id=\\\"myHtml\\\"     head         !-- 这里不是设置了编码,而是告诉浏览器,用什么编码方式打开文件避免乱码 --         meta charset=\\\"UTF-8\\\"         meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\"         titleHtmlAll/title         

    2024年02月05日
    浏览(59)
  • 前端基础:HTML和CSS简介

    目录 1、HTML 简介 (1)在 HTML 中引入外部 CSS (2)在 HTML 中引入外部 JavaScript 2、CSS 简介 (1)CSS 的基本语法 (2)三种使用 CSS 的方法 2.1 - 外部 CSS 的使用 2.2 - 内部 CSS 的使用 2.3 - 行内 CSS 的使用         HTML 指的是超文本标记语言 ( H yper  T ext  M arkup  L anguage), 标记语

    2024年02月16日
    浏览(42)
  • Web前端开发:HTML、CSS

    在介绍Web网站工作流程的时候提到, 前端开发,主要的职责就是将数据以好看的样式呈现出来,说白了,就是开发网页程序 ,如下图所示: 1.   网页有哪些部分组成 ? 文字、图片、音频、视频、超链接、表格等等。 2.  我们看到的网页,背后的本质是什么 ? 程序员写的前端

    2023年04月18日
    浏览(41)
  • Web 前端—HTML+CSS系列

    (1)知识点 :是制作网页的编程语言 浏览器把代码解析后的样子就是我们看到的网站 一个网站是由很多个网页组成的 查看网页代码源 (2).html网页制作 新建一个文件夹——新建记事本——把记事本格式改成demo.html模式——打开方式(打开记事本)——输入要输入的内容—

    2024年02月04日
    浏览(56)
  • 前端 | (五)CSS三大特性及常用属性 | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月17日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包