margin-top塌陷

margin-top塌陷

一、问题描述 ​ 在两个及以上的盒子嵌套时候,内部的盒子设置的 margin-top 的效果会加到最外边的盒子上,导致内部的盒子margin-top设置失败。 – 示例描述: ==设计一个box1盒子,内部嵌套一个box2盒子,box2内再嵌套一个盒子box3== > 即 box1>box2>box3 通过 box3 的 margin-top 的塌陷,可以看出margin-top传递到了 ==最外层==。

margin-top塌陷问题

一、问题描述

​ 在两个及以上的盒子嵌套时候,内部的盒子设置的 margin-top 的效果会加到最外边的盒子上,导致内部的盒子margin-top设置失败。

  • 示例描述 设计一个box1盒子,内部嵌套一个box2盒子,box2内再嵌套一个盒子box3

    box1>box2>box3 通过 box3 的 margin-top 的塌陷,可以看出 如果box1和box2都没有边框或没有做特殊方案处理,box3的margin-top效果就会传递到 最外层

  • 先展示问题的情况

  • 提供解决方案

代码描述:


        margin-top的塌陷

                        /*.clearfix:before{
                content: '';
                display:table;
            }*/

                        .box1{
                width:400px;
                                /*width: 406px;*/
                height:200px;
                background-color: pink;
                margin:0px auto 0px;
                  }
            .box2{
                width:400px;
                height:100px;
                                /*border:3px dashed #000;*/
                                /*overflow:hidden;*/
                  }
            .box3{
                width: 396px;
                height:50px;
                border:2px dashed red;
                                /*box3塌陷*/
                margin-top: 20px;
                  }

  • *图片示意:

塌陷前:

即先 注释 掉box3样式里的 margin-top:20px; 注意看最顶部是与浏览器顶部 接触的
PS:下图中,蓝色部分是通过Ctrl+Shift+C,鼠标审查元素,指示到box2,用于显示box2的颜色,并非实际box2的背景色,box2没有设定背景色(请仔细看上方代码)

margin-top塌陷

塌陷后:

取消box3样式里的注释 margin-top:20px;

margin-top塌陷

情况分析:

① 注意看浏览器顶部和最外层的盒子box1出现了距离,虽然实际还是box3里的margin-top样式,但却将效果表现在了box1上。

② 而正常情况应该是box3与box2之间产生分离才对,所以这就是 margin-top 的塌陷

二、解决办法

1. 外部盒子设置一个边框

即为box2的盒子设置边框,并且为box1的宽度重新设置一下,以免元素溢出

.box1{
    width:400px;
        width: 406px;
    height:200px;
    background-color: pink;
    margin:0px auto 0px;
     }
.box2{
    width:400px;
    height:100px;
    border:3px dashed #000;
     }

效果如下:

margin-top塌陷

box1与最初一样,box2就加上一句 overflow:hidden;

.box2{
    width:400px;
    height:100px;
    overflow:hidden;
     }

效果如下:

margin-top塌陷

将clearfix选择器的注释去掉,再给最外层div盒子加多一个类选择器 clearfix

.clearfix:before{
                  content: '';
                  display:table;
                }

效果如下:

margin-top塌陷

Original: https://www.cnblogs.com/fry-hell/p/12932302.html
Author: 油炸地狱
Title: margin-top塌陷

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611810/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • cpp-变量

    1.枚举类型 枚举类型是用户自定义的类型,在定义时要列举出该枚举类型所有的数值。 定义格式如下: [enum] enumName {val1, val2, val3} 其中的通常为…

    Linux 2023年6月7日
    095
  • Vim 常规教程

    vim 入门到进阶 vim 有四种使用模式 编辑模式, 按 ESC切换 写入模式, 在编辑模式 按 a i 切换 可选模式, 在编辑模式 按 v V 切换 命令模式, 在编辑模式 …

    Linux 2023年6月7日
    0121
  • archLinux 配置用户

    archlinux 启动之后只有默认的root用户,首先介绍下系统启动到登录需要的步骤 1.系统通过systemd 以pid为1初始化系统,启动系统用户和系统必要的服务,(这一步目…

    Linux 2023年6月13日
    078
  • 灵敏度分析简介

    参考文章1 😄参考文章2 😸参考文章3 😃 1. 灵敏度分析: 某一个假定的常量,在现实中不可能完全保持不变,可能发生一定范围的波动。灵敏度分析就是检验这部分波动对结果的影响。 灵…

    Linux 2023年6月14日
    096
  • termius好用的shell终端

    ipad下可用 posted @2022-07-23 12:41 jiftle 阅读(75 ) 评论() 编辑 Original: https://www.cnblogs.com/…

    Linux 2023年5月28日
    0109
  • OpenResty入门

    OpenResty介绍 OpenResty通过汇聚各种设计精良的 Nginx模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web …

    Linux 2023年6月8日
    090
  • docker redis启动将配置文件挂载在数据卷(volume)中

    关键词 [     "linux",     "docker",     "volume",     "red…

    Linux 2023年5月28日
    084
  • Cisco实验:【DHCP配置】客户端跨网段通过DHCP服务器自动获取动态IP和固定IP地址

    模拟环境:R1为路由器e0/0接口和e0/1接口分别连接两个网段,e0/0连接用户区域,e0/1连接服务器区域;用户区域中SW1为接入层交换机,连接一台PC(R2模拟)和一台打印机…

    Linux 2023年6月8日
    0185
  • 我最鄙视的程序员

    今天在技术群里看到关于优秀程序员特质的话题,让我想起多年前的一个同事,一个我最鄙视的程序员。 他的名字叫李伟(化名),是入职没多久的员工,我所在的开发二组和他在的一组,以前没有过工…

    Linux 2023年6月6日
    088
  • pyQt的对话框

    1. 在对话框中输入文字 from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, Q…

    Linux 2023年6月7日
    092
  • Danskin’s Theorem

    Statement 1 假设 (\phi(x,z)) 为含有两个变量的连续函数: (\phi : \mathbb{R}^n \times Z \rightarrow \mathbb…

    Linux 2023年6月7日
    083
  • JDK/MYSQL/TOMCAT环境变量

    IDE:智能开发环境 SDK:软件开发工具包 JDK:Java开发工具包 JRE:Java运行环境 JAR:Java档案文件 API:应用程序接口 1.JAVA_HOME的变量名下…

    Linux 2023年6月7日
    068
  • 一道诡异的考试题

    题目: 给定$a$张黑牌,$b$白牌,甲,乙两人按以下顺序抽牌: 甲抽一张,乙抽一张,然后弃去一张,然后重复以上过程。 先抽到黑牌者胜,求甲和乙获胜的概率$mod 10045358…

    Linux 2023年6月6日
    083
  • Redis AOF重写

    AOF 持久化是通过保存被执行的写命令来记录数据库状态的,所以AOF文件的大小随着时间的流逝一定会越来越大;影响包括但不限于:对于Redis服务器,计算机的存储压力;AOF还原出数…

    Linux 2023年5月28日
    092
  • 2020年12月-第02阶段-前端基础-CSS Day07

    CSS Day07 CSS高级技巧 *理解 能说出元素显示隐藏最常见的写法能说出精灵图产生的目的能说出去除图片底侧空白缝隙的方法 *应用 能写出最常见的鼠标样式能使用精灵图技术能用…

    Linux 2023年6月8日
    0124
  • Linux下侦听端口被占用,怎么解决?

    不知道你有没有遇到过这种问题:在同一台物理机器上,服务A 启动时侦听 端口1 ,同时它也作为客户端去连接 服务B,连接服务B时候会随机一个端口号,假如随机的是 端口2 ,这个时候 …

    Linux 2023年6月13日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球