margin的BUG
在进行简单的div盒子嵌套时,发现设置margin-top时存在bug,然后就去谷歌搜索了一下,发现margin确实存在bug.
bug的现象是父子元素嵌套时,如果子元素是块元素时,对块元素设置margin-top ,如果父元素没有边框,那么margin-top会作用在父元素上.
下面是body里的代码:
<div class="red">
<div class="black"></div>
</div>
style里的代码:
<style>
.red{
background: red;
width: 200px;height: 200px;
}
.black{
background: black;
width: 100px; height: 100px;
margin-left: 50px;
margin-top: 50px;
}
</style>
像上面这样,black里的margin-top不会作用在black上,而是作用在red上.
通过测试发现,当给父级元素添加边框的时候可以消除该bug,但是添加边框会影响盒子的大小,如果使用的话需要重新计算盒子各部分的大小,不实用.当给父级元素添加over-flow:hidden时也可以消除该bug,使其正常作用在black子级元素上.还有一个方法是将当前black元素改变成内联块级元素,但是在特殊情况下会影响页面的布局,不推荐使用.这就是在简单基础上的解决办法,毕竟是初学,无法用更高深的知识技术来解决,期待以后学会更高级的解决办法.
下面是使用overflow:hidden;实现的解决办法:
<style>
.red{
background: red;
width: 200px;height: 200px;
/*overflow: hidden;*/
}
.black{
background: black;
width: 100px; height: 100px;
margin-left: 50px;
margin-top: 50px;
}
</style>
</head>
<body>
<div class="red">
<div class="black"></div>
</div>
</body>
另外两个方法就不示范了.
初学html,请各位多多指教.
margin的BUG的更多相关文章
- margin的BUG(2)
继续上一次的学习,这次又发现了margin的第二个bug.既当同时对两个相邻的div盒子设置margin时,他们之间的间隙不能正常显示. 具体表述为:先建立两个div1和div2 <div cl ...
- margin 相关 bug 系列
原文地址:margin系列之bug巡演 by @doyoe IE6浮动双倍margin bug 这当是IE6最为经典的bug之一. 触发方式 元素被设置浮动 元素在与浮动一致的方向上设置margin值 ...
- IE7 浏览器下面设置text-indent属性变成margin属性BUG
问题来源 今天做项目的时候发现了一个问题,在使用text-indent属性对元素进行缩进是发现在360浏览器下发生了元素偏移,跟margin-left的效果一样,打开f12发现3607.1浏览采用的i ...
- margin 塌陷bug 触发bfc
1.bfc block format context 2.如何触发一个盒子的bfc position:absolute; display: inline-block float:left/right; ...
- margin和padding那点事及常见浏览器margin padding相关Bug
用Margin还是用Padding 何时应当使用margin: 需要在border外侧添加空白时. 空白处不需要背景(色)时. 上下相连的两个盒子之间的空白,需要相互抵消时.如15px + 20px的 ...
- ie6,ie7,ie8 css bug兼容解决方法
IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希 ...
- 不要告诉我你懂margin
分类: Html/CSS | 转载请注明: 出自 海玉的博客 本文地址: http://www.hicss.net/do-not-tell-me-you-understand-margin/ 你真的了 ...
- _margin和margin的区别
_margin和margin的区别 _margin和margin的区别 Question: margin:15px 300px 0px 100px; height:72px; width:188px; ...
- IE常见的CSS的BUG(一)
2011年6月,我毕业了.2012年我接触了CSS,本以为会好过些能赚点钱了,可谁知,Internet Explorer(下称IE),这个前端工程师的噩梦浏览器让我不再那么好过了.各种出现在IE身上的 ...
随机推荐
- 一个对称加密、解密的方法C#工具类
封装了一个对称加解密的类,用私钥和密钥加解密 using System; using System.Collections.Generic; using System.Text; using Syst ...
- mysql前n条查询
可以利用——LIMIT——来完成这项功能. LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下: SELECT * FROM MYTABLE ORDER BY AFI ...
- Xcode中修改整个项目工程名称步骤
1:首先选中项目WaterDropTest.xcodeproj文件后单击鼠标->输入我们要重新命名的工程名,然后会弹出一个对话框,点击rename按钮 2.xcode菜单中选->produ ...
- Flask-在浏览器中直接显示文本文件中的内容
目录结构: project├── info.json├── run.py└── static └── readme.txt # 直接返回static目录下的文件内容 @app.route( ...
- 【Shell脚本学习2】Shell脚本语言与编译型语言的差异
大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言. 编译型语言 很多传统的程序设计语言,例如Fortran.Ada.Pascal.C.C++和Java,都是编译型语言.这类语言需要预先将 ...
- ShowModal在FireMonkey移动应用程序对话框
This is the only code that changes between the first and second code snippets: dlg.ShowModal(procedu ...
- Freebsd 下如何最有效率的安装软件
FreeBSD的默认下载工具是fetch,既慢又不好用.在FreeBSD下安装软件有一些很有效率的方式,下面就给大家介绍一下. Ports机制 首先,FreeBSD下最有特色的软件安装和升级机制就是p ...
- hdu 4010 Query on The Trees LCT
支持:1.添加边 x,y2.删边 x,y3.对于路径x,y上的所有节点的值加上w4.询问路径x,y上的所有节点的最大权值 分析:裸的lct...rev忘了清零死循环了两小时... 1:就是link操作 ...
- 转 : React Native 开发之 IDE 选型和配置
转:https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112392&idx=1&sn=135e29ddde30 ...
- web前端开发学习指南(大群主推荐)
http://www.ituring.com.cn/book/1140 http://www.ituring.com.cn/book/1361