“margin”外边距的各种奇特现象

news2025/1/25 7:43:37

我们大家在初学css布局html页面结构的时候,肯定会经常使用到“margin”外边距这个属性,这个属性对我们的页面布局十分有用,也十分方便,但是这个属性在使用的时候经常会出现一些奇特的现象,导致我们的页面布局和想要完成的布局效果不一样,因此我们得了解一下它在哪些情况下会出现一些特殊情况,导致页面布局效果出现偏差。

一.正常现象

水平布局的两个盒子,同时给他们左右margin值,它们的外边距互不影响,最终的距离为左右外边距之和。

二.合并现象

垂直布局的两个块级元素,同时给它们设置上下margin值,它们的margin值会合并,最终距离为margin的最大值。

三.塌陷现象

互相嵌套的块级元素,我们给子元素设置的margin-top会作用到父元素身上,这种现象就叫块级嵌套元素塌陷现象,这也是我们实际布局时很容易就碰到的现象。

碰到这种现象我们怎么解决呢,解决办法有好几种:

1.给父元素设置padding-top或border-top2.给父元素设置overflow:hidden;3.把子元素设置为行内块元素,行内块元素不存在塌陷问题4.设置浮动或者设置绝对定位、相对定位,浮动、绝对定位或相对定位的盒子不存在塌陷问题。 这里只给大家演示一种解决办法,其他办法大家可以自己去试一下:

四.行内元素设置上下外边距无效

行内元素设置的水平左右外边距是有效的,但是设置垂直的上下外边距是无效的。

这里演示将它们转化为块级元素的解决办法:

总结:

总的来说,我们在使用margin的时候还是要时刻注意一下这四种现象,特别是块级嵌套元素的塌陷现象,在我们使用margin来进行页面布局的时候很容易就出现塌陷现象,因此我们推荐在给父子元素之间设置距离的时候,最好使用padding,在兄弟元素之间设置距离的时候再使用margin,这样就能有效避免上述所出现的问题。

最后

为大家准备了一个前端资料包。包含54本,2.57G的前端相关电子书,《前端面试宝典(附答案和解析)》,难点、重点知识视频教程(全套)。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

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

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

相关文章

开发一个MyBatis通用Mapper的轮子

目录 一、前言 二、需求 三、实现原理 1、基于MyBatis3提供的SqlProvider构建动态Sql 2、基于自定义注解,为实体和数据库表建立对应关系 四、代码实现 1、自定义注解 2、几个pojo,用来保存实体对应的信息 3、定义开头说的BaseMapper 4、SqlPro…

Nginx-负载均衡

负载均衡的意思是在服务器集群中,需要有一台服务器作为调度者,客户端所有的请求都有调度者接收,调度者再根据每台服务器的负载情况,将请求分配给对应的服务器去处理 配置过程 1、需要在nginx.conf配置文件中添加服务组 服务组中…

linux安装stable diffusion2.0完整教程-还不会安装sd2.0?一篇文章教会你AI绘画

以下教程出自飞链云AI技术人员,欢迎使用目前国内顶尖的AI绘画工具,微信小程序搜索:【飞链云版图】 注意:请严格按照以下步骤进行,可非常容易进行安装,其他环境不保证丝滑安装; 安装前准备 ub…

分析GC日志

文章目录1.GC日志格式1.1 GC分类1.2 GC日志结构剖析1.3 GC日志分析工具1.4 人生感悟1.GC日志格式 1.1 GC分类 针对HotSpot VM的实现,它里面的Gc按照回收区域又分为两大种类型: 一种是部分收集(Partial GC),一种是整堆收集&#…

三.线程的状态

正常线程的五大状态 :新建状态,就绪状态,运行状态,阻塞状态,死亡状态 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 运行(RUNNABLE):Java线程中将就绪(re…

小白想学习python?怎么学?

首先,学习Python编程技术,自学或者参加培训学习都适用,每个人都有自己的学习方式和方法。 一:明确自己的学习目标。 不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识。只有这样才能朝着目标持续的前…

26岁学历低的我,是如何从工厂转行Python工程师?

本人坐标长沙,专科工程造价专业。 转行Python工程师薪资:13K。 饮水思泉,在转行的过程中,同学跟老师们对我的帮助非常大,自己找到工作以后,也试着写篇文章,将自己的心得经验全部分享出来&#…

单例模式及其线程安全问题

目录 ​ 1.设计模式 2.饿汉模式 3.懒汉模式 4.线程安全与单例模式 1.设计模式 设计模式是什么? 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案 这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的 单例模式的作用就是保证某个…

各类指针的详细介绍

🏖️作者:malloc不出对象 ⛺专栏:《初识C语言》 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、基本数据类型指针1.1 指针的…

漏洞丨cve2017-11882

作者:黑蛋 一、漏洞简介 本次漏洞还是一个office溢出漏洞,漏洞编号cve-2017-11882。该漏洞是office一个组件EQNEDT32.EXE引起的栈溢出,通杀office版本2007-2016。 二、复现环境 系统版本 目标程序 调试工具 辅助工具 win7 sp1 x86 off…

【MySQL基础教程】DDL语句详细介绍

前言 本文为 【MySQL基础教程】DDL语句 相关相关内容进行详尽介绍,下边将对数据库操作(包括:查询所有数据库、查询当前数据库、创建数据库、删除数据库、切换数据库等),表操作(包括:查询创建、数…

微信小程序分包及案例

文章目录5. 分包6. 独立分包7. 分包预下载8. 案例-自定义tabbar5. 分包 分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用 时按需进行加载。 可以优化小程序首次启动的下载时间在多团队共同…

微信公众号开发—扫描二维码实现登录方案

😊 作者: 一恍过去💖 主页: https://blog.csdn.net/zhuocailing3390🎊 社区: Java技术栈交流🎉 主题: 微信公众号开发—扫描二维码实现登录方案⏱️ 创作时间: 2022…

非零基础自学Golang 第13章 并发与通道 13.1 概述

非零基础自学Golang 文章目录非零基础自学Golang第13章 并发与通道13.1 概述13.1.1 并行与并发13.1.2 Go并发优势第13章 并发与通道 并发是指在同一段时间内,程序可以执行多个任务。 随着社会需求的发展,光靠硬件的提升是无法满足高并发的需求的&#…

[前端攻坚]:数组去重的几种方法

总结一些日常需要用到的一些api,也是在一些面试中会经常出现的题目,今天分享的是数组去重的几个不同的方法, 同时文章也被收录到我的《JS基础》专栏中,欢迎大家点击收藏加关注。 数组去重的方法 1.set去重 2.map去重 3.for循环in…

Python安装Pycrypto

前言 安装 使用以下命令安装 pip install pycrypto2.6.1报错 如果在安装过程中出现如下错误 则说明系统缺乏相应python开发包,需要进行安装对应的python开发包 解决 在CentOS下,如果是python2.7则使用如下命令安装 yum install python-devel是pyt…

Pytest用例运行及规范

温馨提示 本篇约1600字,看完需3-5分钟,学习学半小时,加油! 先看普通函数运行顺序 import pytestdef test_one():print("我是清安")def test_02():print("--02--")def test_a():print("--a--")de…

BP神经网络的最简Python实现

文章目录神经元BP原理及实现测试BP,就是后向传播(back propagation),说明BP网络要向后传递一个什么东西,这个东西就是误差。 而神经网络,就是由神经元组成的网络,所以在考虑BP之前,还不得不弄清楚神经元是…

endata 电影票房响应数据破解

本文仅供参考学习,如有侵权可联系本人 目标网站 aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvQk8vWWVhci9pbmRleC5odG1s加密入口分析 在异步请求那里可以看到请求接口,请求参数并未加密只是响应内容进行了加密,暂时也无法判断加密方…

JavaWeb的Servlet学习之Request03

目录 1.Request 1.1Request执行流程 1.2request对象和response对象的原理 1.3 request对象继承体系结构 1.4request功能: 1.3.1获取请求消息数据 1.获取请求行数据 2.获取请求头 3.获取请求体数据 4.其他功能 4.1获取请求参数通用方式:不论get…