CSS中,margin-top和margin-botttom有一些特殊性。它们会在某种情况之间相互合并,并且会将值最大的那个当作外边距的值。


1. margin-top具有继承性

当两个盒子是父子关系时,对父元素设置margin-top,子元素也相当于有了相同的margin-top。

            .box1 {margin-top: 20px;width: 200px;height: 200px;background-color: #000000;}.box2 {width: 100px;height: 100px;background-color: #0000FF;}
        <div class="box1"><div class="box2"></div></div>

2.margin-top,margin-bottom会合并

当两个盒子是父子关系或者上下兄弟关系时,设置margin-top,margin-bottom。两个盒子之间的margin-top,margin-bottom会合并,取最大的值当作共同的外边距。

            // 上述CSS代码修改.box2 {margin-top: 30px;width: 100px;height: 100px;background-color: #0000FF;}

如图:两个盒子margin-top合并成为一个,子元素的较大,所以最终的外边距以子元素的为准。

            .box1 {margin-bottom: 60px;width: 200px;height: 200px;background-color: #000000;}.box2 {margin-top: 30px;width: 100px;height: 100px;background-color: #0000FF;}
        <div class="box"><div class="box1"></div><div class="box2"></div></div>

如图:当两个盒子为上下兄弟关系时,下边盒子的margin-top和上边盒子的margin-bottom会合并,上边的外边距比较大,所以最终外边距为上盒子的margin-bottom

3.margin-top,margin-bottom“不”会合并

有时候,当使用弹性布局时,上下兄弟盒子的外边距不会合并。

            .box {display: flex;flex-direction: column;}.box1 {margin-bottom: 60px;width: 200px;height: 200px;background-color: #000000;}.box2 {margin-top: 30px;width: 100px;height: 100px;background-color: #0000FF;}
        <div class="box"><div class="box1"></div><div class="box2"></div></div>

如图:两个兄弟盒子之间的外边距,为上盒子margin-bottom和下盒子margin-top之和。margin-top和margin-bottom没有合并。

学习笔记——margin-top,margin-bottom之间的合并问题相关推荐

  1. c# 学习笔记 (2) 窗体之间互相调用的方法

    c# 学习笔记 (2) 窗体之间互相调用的方法 创建一个winform工程 创建两个窗体 一个子窗体,一个父窗体,这里为了演示,子窗体和父窗体上都有一个文本框和按键,点击任意一个窗体上的按键,窗体上文 ...

  2. 设计模式学习笔记1——类与类之间的关系

    1.继承关系 概念 继承又分为2种方式,一种叫实现继承,一种叫接口继承.参见笔记--[2种继承方式学习笔记].(https://blog.csdn.net/yhb1206/article/detail ...

  3. opencv 学习笔记6:通道的拆分与合并

    python + opencv 通道拆分 原始方法 import cv2 img=cv2.imread('图像名') b=img[:,:,0] g=img[:,:,`1] r=img[:,:,2] 新 ...

  4. protocol学习笔记001---RPC和HTTP协议之间的区别_与各自优势

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  5. Unity 中的 3D 数学学习笔记——认识坐标系及坐标系之间的转换

    一 :3d空间坐标系  x,y,z 轴 z轴方向确定有两种方式 左手坐标系和右手坐标系 左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向. 右手坐标系:伸开右 ...

  6. HTML学习笔记:演示HTML页面之间传递数据

    1.起始页面page01.html 2.目标页面page02.html 3.查看运行效果 单击[提交]按钮,跳转到目标页面page02.html 4.出现乱码问题 5.解决乱码问题 如何解决这个问题呢 ...

  7. Linux学习笔记之权限与命令之间的关系(重要)及文件与目录知识总结

    一.让使用者能进入某目录成为可工作目录的基本权限为何: 可使用的命令:例如 cd 等变换工作目录的命令: 目录所需权限:使用者对这个目录至少需要具有 x的权限 额外需求:如果使用者想要在这个目录内利用 ...

  8. 【学习笔记】Python之 pdf 下载、合并

    pdf下载 import requests# python requests 的pdf 文档 requests_pdf_url = "https://link.springer.com/co ...

  9. Flot chart学习笔记

    背景及相关简介 在最近的BS新项目中需要用到绘图数据显示的功能.在进行充足的选择之后决定才去开源的Flot.Flot是一个jQuery绘图库.主要用于简单的绘制图表功能.具有吸引人的渲染外观和互操作的 ...

  10. html+css学习笔记 [基础1]

    ---------------------------------------------------------------------------------------------------- ...

最新文章

  1. php ip地址地区,PHP查询ip所在地(省份,市)
  2. 备战2022秋季“金三银四”跳槽必备:软件测试面试题,贡献给需要的小伙伴,最后有惊喜哦
  3. 【 MATLAB 】cat 函数介绍(沿指定维度串联数组)
  4. 软件测试之三——路径覆盖
  5. matlab中所遇到的问题,【总结】【matlab】【机器学习】学习过程中遇到的问题总结...
  6. 打印pdf就一页_Excel表格打印技巧汇总,看完才发现,你连基础打印技巧都不知道...
  7. 【贪心】【高精度】zoj3987 Numbers
  8. cron 12点执行_【技术指南】Crontab调度重复执行的任务
  9. JS模块化(立即执行函数)
  10. 华为Mate30 5G评测:首款5G爆品, 一步到位兼容5G双模全网通
  11. 设计灵感|C4D卡通角色设计作品,你想要的模型集设都有
  12. Dubbo -- 系统学习 笔记 -- 示例 -- 只订阅
  13. 易语言锐浪报表连接mysql_学习锐浪报表之MySQL连接字符串的实际操作步骤汇总...
  14. 人脸离线识别SDK案例合集 | 持续更新
  15. Ajax的三种写法(最原始的写法+最常用的写法+最简便的写法)
  16. vim command line quick edit
  17. python对话框打开文件_python打开文件对话框
  18. 1756冗余_冗余电源1756-PA75R
  19. 我们为什么要使用空接口
  20. java 课设 商品库存管理系统

热门文章

  1. 43 迷宫问题(避免走重复路径)
  2. Java:class4 类和对象
  3. 多线程爬取镖局网商标信息
  4. 简单两步自己动手制作联想windows7 sp1 64位旗舰版安装镜像文件windows7旗舰版主...
  5. Vue3+vite实现黑暗模式/暗夜模式/主题换肤
  6. Kotlin实现一个简单的安卓app答题系统(含web服务端)
  7. 【面试02】面试网络工程师,会经历什么?
  8. #世界杯征文活动 #Python #2022卡塔尔世界杯 #FIFA World Cup Qatar 2022 # 机器学习 #数据分析 用Python预测世界杯决赛
  9. 计算机电脑桌面不显示,解决办法:如果在打开计算机后桌面不显示,该怎么办...
  10. 是数据中心定义了DCIM