前端每日一练 :相邻元素、嵌套元素Margin 塌陷、合并问题如何额解决?

相邻元素外边距塌陷合并 

表现示例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 100px;height: 100px;}#box1 {margin-bottom: 20px;background-color: red;}#box2 {margin-top: 10px;background-color: green;}</style>
</head><body><div id="box1" class="box">box1</div><div id="box2" class="box">box2</div>
</body></html>

margin塌陷问题:上面例子两个 div 的间隔为200px,取 margin 重叠部分的更大值(这是正常情况,符合 CSS 的外边距合并规则),如果希望间隔 300px,可进行如下操作

解决方案 

  1. 只给其中一个元素增加外边距(推荐)
  2. 使用浮动给下面的元素增加浮动,使其脱离文档流就可以了
  3. 使用定位给下面的元素使用定位,使其脱离文档流就可以了,原理和浮动一样。
  4. 将其中一个元素变为行内块元素,使用 display: inline-block;属性将其中一个元素变为行内块元素就可以了,display的很多属性值都可以解决外边距合并问题,常用的就是 inline-block flex或 inline-flex
  5. 给其中一个元素增加一个父元素,给父元素添加overflow:hidden样式,这样会使兄弟元素不在同一个BFC区域下,这个元素就可以看做成隔离了的独立容器。容器内的元素不会影响容器外的元素。

  6. 给其中一个元素增加一个父元素,给父元素添加一个边框

  7. 给其中一个元素增加一个父元素,给父元素增加内边距

二、父子元素外边距合并(塌陷)

表现示例


当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。请看下图:

解决方法:

  1. 给父元素或子元素增加浮动,让其脱离标准流就可以了
  2. 给父元素或者子元素定位都可以,原理同样是使其脱离标准流,不过只能用绝对定位和固定定位
  3. 将父元素变为行内块元素,display: inline-block;
  4. 给父元素增加overflow:hidden;样式(推荐)
  5. 给父元素增加边框border值第六种:给父元素增加内边距padding值
     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python与FPGA——sobel边缘检测

文章目录 前言一、sobel边缘检测二、Python sobel边缘检测三、FPGA sobel边缘检测总结 前言 边缘存在于目标、背景区域之间&#xff0c;它是图像分割所依赖的较重要的依据&#xff0c;也是图像匹配的重要特征。边缘检测在图像处理和计算机视觉中&#xff0c;尤其在图像的特征提…

LVS----DR模式

一、LVS-DR工作原理 1、LVS-DR数据包流向分析 客户端发送请求到Director Server (负载均衡器)&#xff0c;请求的数据报文&#xff08;源IP是CIP&#xff0c;目标IP是VIP&#xff09;到达内核空间。Director Server 和Real Server 在同一个网络中&#xff0c;数据通过二层数据…

turtle海龟画图

10. 画笔设置 1. 画笔设置 海龟库绘制时的线条是可以设置的&#xff0c;例如画笔的颜色&#xff0c;方法名如下&#xff1a; 方法名方法说明.pencolor(‘red’)设置画笔颜色&#xff0c;例如红色 import turtle #导入海龟图库 turtle.shape(turtle) #召唤海龟 turtle.pencolo…

【vue3之组合式API及其新特性】

组合式API及其新特性 一、setup1.写法2.如何访问3.语法糖4.同步返回对象 二、reactive()和ref()1.reactive()2.ref() 三、computed四、watch函数1.侦听单个数据2.侦听多个数据3. immediate4. deep5.精确侦听对象的某个属性 五、生命周期函数六、组件通信1.父传子2. 子传父 七、…

Java开发从入门到精通(一):Java的基础语法进阶

Java大数据开发和安全开发 &#xff08;一&#xff09;Java注释符1.1 单行注释 //1.2 多行注释 /* */1.3 文档注释 /** */1.4 各种注释区别1.5 注释的特点1.5 注释的快捷键 &#xff08;二&#xff09;Java的字面量&#xff08;三&#xff09;Java的变量3.1 认识变量3.2 为什么…

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍&#xff1a;Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一&#xff0c;2024年的版本带来了一系列令人印象深刻的功能&#xff1a; AI增强的自动选择和蒙版工具&#xff1a;现在&#xff0c;用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

vue-treeselect的下拉列表中的字体样式修改

vue-treeselect的文件为&#xff1a;riophae/vue-treeselect/dist/vue-treeselect.css 打开这个文件&#xff0c;找到css的类.vue-treeselect__menu&#xff0c;默认值为&#xff1a; .vue-treeselect__menu { cursor: default; padding-top: 5px; padding-bottom: 5px; displ…

1、let、const、var区别、解构赋值、新增字符串语法、数组方法、网址组成

一、let、const、var的区别* 1、let和var的区别 相同点&#xff1a; 在全局声明的就是全局变量&#xff0c;在局部声明的变量是局部变量不同点&#xff08;4条&#xff09;&#xff1a; let声明的变量不能提升let声明的变量名不能重复声明let声明的变量只在当前的块作用域中有…

如何使用宝塔面板搭建Discuz并结合cpolar实现远程访问本地论坛

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…

第3部分 原理篇3可验证凭证(VC)(2)

3.3.3. 可验证凭证生态 3.3.3.1. 生态中的角色和概念 本聪老师&#xff1a;问大家个问题&#xff0c;我们生活中常见的实物凭证包括哪些信息&#xff1f; 小天&#xff1a;以身份证为例&#xff0c;包括姓名、性别、出生年月、住址等个人信息&#xff0c;还有发证部门&#…

【嵌入式——QT】Model/View

【嵌入式——QT】Model/View 基本原理数据模型视图组件代理Model/View结构的一些概念QFileSystemModelQStringListModelQStandardItemModel自定义代理 基本原理 GUI应用程序的一个很重要的功能是由用户在界面上编辑和修改数据&#xff0c;典型的如数据库应用程序&#xff0c;数…

重学SpringBoot3-@EnableConfigurationProperties注解

重学SpringBoot3-EnableConfigurationProperties注解 1. 引言2. EnableConfigurationProperties 的作用3. 使用示例4. 总结 1. 引言 Spring Boot 提供了一种便捷的方式来管理和校验应用程序的配置&#xff0c;即通过类型安全的配置属性。EnableConfigurationProperties 注解在…

企业微信HOOK接口Dll调用(4.1.16.6002版本)

产品说明 一、 hook版本&#xff1a;企业微信hook接口是指将企业微信的功能封装成dll&#xff0c;并提供简易的接口给程序调用。通过hook技术&#xff0c;可以在不修改企业微信客户端源代码的情况下&#xff0c;实现对企业微信客户端的功能进行扩展和定制化。企业微信hook接口可…

pycharm 自定义TODO类注释以及其高亮颜色

大体介绍 使用自定义TODO是为了方便看&#xff0c;并且快速定位到位置 上面是为了进行标记&#xff0c;下面是让哪些标记可以过滤掉&#xff08;自定义过滤规则&#xff09;&#xff0c;从而在pycharm下面的TODO可以显示并过滤 如何设置&#xff1f; Setting-Preferences-Ed…

练习 5 Web [GXYCTF2019]BabyUpload

[GXYCTF2019]BabyUpload 猜测直接上传txt会被过滤&#xff0c;提示“上传类型也太露骨了吧&#xff01;”按经验传入一个"muma.phtml" 提示过滤了“ph”相关的后缀 传入muma.jpg等图像格式&#xff0c;提示表明复原并检测了文件内容 审查文件后缀Context-type 不能…

深度学习评价指标

目标检测: 对于每一个预测得到的框&#xff0c;看它的三个指标&#xff0c;分别是与哪个预测框的相交&#xff0c;分数是多少&#xff0c;相交IOU是多少。 计算每个分数的P和R。 TP(True Positive):IOU >0.5的检测框数量 FP(False Postive):IoU <0.5的检测框数量 FN(…

【北京迅为】《iTOP-3588开发板网络环境配置手册》第3章 开发板直连电脑配置方法(不能上外网)

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

2024 年 AI 辅助研发趋势:从研发数字化到 AI + 开发工具 2.0,不止于 Copilot

在上一年里&#xff0c;已经有不少的企业在工具链上落地了生成式 AI&#xff0c;结合我们对于这些企业的分析&#xff0c;以及最近在国内的一些 “新技术” 趋势&#xff0c;诸如于鸿蒙原生应用的初步兴起。从这些案例与趋势中&#xff0c;我们也看到了一些新的可能方向。 结合…

【 HTML 及浏览器 】DOM 树

“人生如同弓弦&#xff0c;经历拉扯才能发出激越的音响。在坎坷的拉扯中&#xff0c;用坚定的力量拉近梦想的弓弦&#xff0c;让每一次的发声都是生命的高潮。” - 约瑟夫康拉德 DOM树&#xff1a;构建动态网页的骨架 在互联网的世界里&#xff0c;网页就像是一个个生动的故事…

关于报考NISP二级的紧急通知

为规范NISP二级报考条件和CISP证书换证标准&#xff0c;根据中国信息安全测评中心最新通知&#xff0c;即日起NISP二级仅限全日制在校大学生报考&#xff0c;报名时必须同步提供学信网在籍证明图。 NISP二级被誉为“校园版CISP”&#xff0c;是网络行业的通行证&#xff0c;计算…