margin塌陷

一:什么是margin塌陷

在标准文档流中,竖直方向的margin会出现叠加现象(水平方向不会塌陷),两个margin紧挨着,中间没有border或者padding
margin直接接触,就产生了合并
表现为较大的margin会覆盖掉较小的margin,竖直方向的两个盒子中间只有一个较大的margin,这就是margin塌陷现象

二:margin塌陷的分类

1、兄弟关系的盒子
2、父子关系的盒子


兄弟并列

 1 <style>
 2 *{
 3     margin:0;
 4     padding:0;
 5 }
 6 .box1{
 7     width:200px;
 8     height:200px;
 9     background: yellowgreen;
10     margin-bottom: 50px;
11 }
12 .box2{
13     width:200px;
14     height:200px;
15     background: gray;
16     margin-top: 40px;
17 }
18 </style>
对box1我们为其设置margin-bottom:50px;
对box2我们为其设置margin-top: 40px;

如下图所示:

 

两盒子之间的距离仅是50px,也就是说两盒子之间的margin出现了重叠部分,故而我们可以得出:垂直之间塌陷的原则是以两盒子最大的外边距为准。

 

父子关系

 1 /*CSS部分*/
 2 <style>
 3 .box1{
 4     width:400px;
 5     height:400px;
 6     background: pink;
 7 }
 8 .box2{
 9     width:200px;
10     height:200px;
11     background: lightblue;
    margin-top:10px
12 } 13 </style> 14 /*HTML部分*/ 15 <body> 16 <divclass="box1"> 17 <divclass="box2"></div> 18 </div> 19 </body>

当为子盒子添加margin-top:10px;时会发生如下情况:

子盒子和父盒子之间并没出现期望的10px间隙而是父盒子与子盒子一起与页面顶端产生了10px间隙。

 

解决方法:

 

1.给父元素增加边框

为了不影响原先的图像效果,可以将边框颜色设置为白色(与浏览器背景颜色一致)。

2.溢出隐藏

在父元素的style里面添加overflow:hidden;

3.利用浮动

给父元素的style添加浮动,但是这种方法不推荐使用。因为会带来未知的错误。

4.给父元素添加position:fixed;

这里用到了定位的知识,将父元素显示在固定位置,就不会受margin-top塌陷的问题影。

5.使用伪元素

1 .clearfix::before{ 
2 content: ”“”; 
3 display: table; 
4 } 

 

转载于:https://www.cnblogs.com/cz976230/p/10654402.html

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

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

相关文章

c语言幼儿园管理系统,【资源学习】c语言程序代码,登录幼儿园200个小朋友的数据...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼编写程序&#xff0c;登录幼儿园200个小朋友的数据&#xff1a;姓名、性别、年龄、身高、体重、出生日期&#xff0c;分别按年龄排序后输出。要求&#xff1a;(1)登录数据用函数input()(2)按身高排序用函数sort()(3)输出排序结果用…

[转载]EXT核心API详解(一)-Ext

Ext类addBehaviors( Object obj ) : void对选择的元素 应用事件侦听器,事件名以附加在结尾,例如addBehaviors({// idfoo下所有的a标签加入click事件#foo aclick : function(e, t){// do something},// 用,分隔多个选择器#foo a, #bar span.some-classmouseover : function(){//…

Redis链表实现

链表在 Redis 中的应用非常广泛&#xff0c; 比如列表键的底层实现之一就是链表&#xff1a; 当一个列表键包含了数量比较多的元素&#xff0c; 又或者列表中包含的元素都是比较长的字符串时&#xff0c; Redis 就会使用链表作为列表键的底层实现。除了链表键之外&#xff0c; …

获取当前日期0点及23点59的时间戳

1.获取今天0点时间戳&#xff1a; const start new Date(new Date(new Date().toLocaleDateString()).getTime()); //如果不是当天换成你想获取0点的时间即可。 console.log(start); 2.获取今天23:59:59点时间戳&#xff1a; const start new Date(new Date(new Date(…

android 6.0 api 管理,Android 6.0(API23)权限申请问题

1.在API23以上&#xff0c;不止要在AndroidManifest.xml里面添加权限2.还要在JAVA代码中请求权限&#xff1a;// Storage Permissionsprivate static final int REQUEST_EXTERNAL_STORAGE 1;private static String[] PERMISSIONS_STORAGE {Manifest.permission.READ_EXTERNAL…

ecos内核概览--bakayi译

http://blog.csdn.net/wangzaiwei2006/article/details/6453423

linux optimizer,linux命令1—安装optimizer(示例代码)

ZendChina官方&#xff1a;下面介绍一下关于在linux环境下Zend Optimizer 3.3的安装方法。本篇文章是基于RHEL5架构的linux系统。(1)ZendOptimizer 3.3.3版本的安装。ZendOptimizer 3.3.3下载地址&#xff1a;安装&#xff1a;# wget http://down1.chinaunix.net/distfiles/Zen…

python 多进程与多线程配合拷贝文件目录

版本一:使用shutil进行拷贝 1 # -*- coding: utf-8 -*-2 # author: Tele3 # Time : 2019/04/02 下午 3:094 # 待改进:5 # 1.拷贝逻辑使用原生的io6 # 2.针对大文件在进程内部实现多线程方式进行拷贝7 8 9 import time10 import re11 import os12 import shutil13 import multi…

水晶报表加载失败的解决方法

问题描述:利用水晶报表开发的程序在运行了一段时间后,加载水晶报表失败.问题解决1.这个问题可能是由于windows临时文件夹下面的水晶报表文件没有及时清除的原因.打开临时文件夹,删除后就可以正常运行.2. (1).ReportDocumen实例必须为类成员 private ReportDocument prtp ne…

重定向

servlet的两种重定向方法的区别及应用一 问题&#xff1a; 在servlet/JSP编程学习中,发现有两种方法可以实现服务端输出重定向&#xff0c;一种是通过forward方法&#xff08;例如JSP中 的<jsp:forward page”OtherPage.jsp”/>&#xff09;&#xff0c;另一种则是通过运…

移动端事件

1. click事件 单击事件&#xff0c;类似于PC端的click&#xff0c;但在移动端中&#xff0c;连续click的触发有200ms ~ 300ms的延迟 2. touch类事件 触摸事件&#xff0c;有touchstart touchmove touchend touchcancel 四种之分 touchstart&#xff1a;手指触摸到屏幕会触发 to…

LINQ to SharePoint 试用感受, 欢迎讨论~

目前项目需要比较复杂的查询功能&#xff0c; 如果直接写CAML的话以后维护非常麻烦&#xff0c; 然后暂时用LINQ to SharePoint替代之&#xff5e; URL&#xff1a; http://linqtosharepoint.codeplex.com/ 最大的优点是我不用写CAML了&#xff0c; 非常容易实现一些简单的查询…

android应用退出后广播无效,关闭应用程序后,保持广播接收器运行

我认为接受的答案不是实际答案。我将解释问题所在。我认为您是在Huawie&#xff0c;Oppo&#xff0c;Vivo&#xff0c;Xiomi&#xff0c;asus .......或某些设备上测试您的应用程序。使用这些设备&#xff0c;如果我们关闭应用程序&#xff0c;它们还将关闭我们的广播接收器。因…

数据库SQL,技巧篇

三、技巧1、11&#xff0c;12的使用&#xff0c;在SQL语句组合时用的较多“where 11” 是表示选择全部 “where 12”全部不选&#xff0c;如&#xff1a;if strWhere ! beginset strSQL select count(*) as Total from [ tblName ] where strWhere endelse beginset st…

走过小公司的坑之入职一周

第一天工作内容&#xff0c;电脑系统安装&#xff0c;软件环境部署&#xff0c;出现硬盘坏道问题及病毒 第二天工作内容&#xff0c;web基础模型搭建&#xff0c;解决软件版本兼容问题 第三天工作内容&#xff0c;承接项目&#xff0c; 项目背景&#xff1a;web进销存系统&…

ps4移植android游戏,把PS4游戏《Apex英雄》《只狼》搬到安卓手机上玩,这招够简单!...

近期&#xff0c;索尼抢先其他平台&#xff0c;在PlayStaion官方网站发布新信息&#xff0c;使各大主流射击游戏平均流失率达到57%的大逃杀游戏《Apex英雄》&#xff0c;本赛季会加入两名新角色&#xff0c;一位是刚更新的辛烷&#xff0c;另一位会在本赛季结束前推出。根据此前…

指挥家和他的理解

最近翻出了电脑硬盘中的MP3&#xff0c;无意间找到了上大学音乐选修课时为考试准备的一些古典音乐的MP3&#xff0c;其中有一个文件夹中的文件都是Beethoven的 音乐。遂考到MP3中找些时间慢慢听。逐渐&#xff0c;发现自己开始喜欢上了古典交响乐&#xff0c;尤其是Beethoven的…

手把手带你使用JS-SDK自定义微信分享效果

https://www.cnblogs.com/backtozero/p/7064247.html转载于:https://www.cnblogs.com/diyunpeng/p/10659452.html

linux fork函数浅析

#include <sys/types.h> #include <unistd.h> /* 功能&#xff1a;复制进程 參数&#xff1a;无 返回值&#xff1a; 成功&#xff1a; 父进程&#xff1a;返回子进程id 子进程&#xff1a;返回0 失败&#xff1a; 返回&#xff0d;1 */ pid_t fork(void); 由fork…

android图片保存形式,Android应用开发之Android ScrollView截图和图片保存到相册的方式...

本文将带你了解Android应用开发之Android ScrollView截图和图片保存到相册的方式&#xff0c;希望本文对大家学Android有所帮助。1.1首先来看你一种截取屏幕&#xff0c;这种代码有缺陷&#xff0c;只能截取一次Java代码 getWindow().getDecorView().setDrawingCacheEnabled…