项目开发阶段没有注意这个问题,昨天对页面进行调优过程中突然发现页面html与body之间出现了Xpx像素点的间隙,分别在Chroe、FF、IE8中都出现了,但是在IE7中确奇怪的消失了。
不是前端出身所以对CSS布局问题知之甚少,于是翻书查资料才在书中找到出现上述情况的原因是浏览器bug---外边距叠加问题。
外边距叠加的出现我都不解释了书上、网上资料到处都是。但是对于其出bug真想一探究竟。希望iteye的大牛能给予帮助。说了这么多对问题的描述还没来呢?抱歉!
问题描述:先把代码列上
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>marginOverlay.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <style type="text/css"> body{ margin: 0px; /*border: 1px solid white;*/ } .parent{ margin:10px; border: 1px solid white; } .children{ margin-bottom: 10px; margin-top: 10px; background-color: red; } </style> </head> <body> <div class="parent"> <div class="children"> 消除外边距叠加 </div> </div> </body> </html>
加粗的样式
body{ margin: 0px; /*border: 1px solid white;*/ }
如果注释就去掉了body与html就出现了间隙,通过FireBug可以查看到造成该原因是因为div.parent的外边距 10px造成的。为何出现这种原因呢?希望能帮助知道,推荐资料阅读我自己查看也行。
注:在IE的hasLayout属性中查查到 body的该属性为true。IE中调试div.parent截图如图1:ie.gif
在FF中调试div.parent截图如图2:ff.gif
相关推荐
今天谈谈CSS外边距叠加的问题,边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。 在进行CSS网页布局时会遇到许多奇怪的问题,这些问题可能是浏览器的bug,也可能是我们对CSS属性不够了解,虽然...
CSS外边距叠加概念是指在CSS布局中,垂直方向上的相邻元素外边距会在计算时发生重叠现象,而不是简单的算术相加。这种现象在文档流中的块级元素中非常常见,尤其是在没有浮动、定位、内联块元素或表格显示类型的元素...
在CSS布局中,"空白外边距互相叠加"是一个常见的问题,它涉及到元素之间的外边距合并规则。当两个或多个块级元素的外边距相邻时,它们的垂直外边距并不简单相加,而是取其中的最大值作为最终的外边距。这在某些情况...
如果两个外边距都是百分比,叠加规则遵循具体浏览器的解释,可能结果与数值外边距叠加不同。 关于空白叠加的例子,描述中提到了两个情况: 情况一是当一个块级元素的底边外边距与另一个块级元素的顶边外边距相遇时...
在CSS布局中,经常会遇到块级元素垂直外边距(margin)发生叠加的问题,这通常称为margin叠加或外边距折叠。当两个或多个毗邻的块级元素垂直方向上的margin相遇时,它们会以较大者的margin值作为一个统一的margin值...
2. **盒模型**:CSS2.0中的盒模型包含内容(content)、内边距(padding)、边框(border)和外边距(margin),理解盒模型是布局设计的基础。 3. **定位机制**:如静态定位、相对定位、绝对定位和固定定位,这些机制控制...
本章节主要介绍CSS盒模型的概念和应用,包括盒模型的组成部分、边框和外边距、内边距、盒模型的宽度和高度、块级元素与行级元素的区别、margin叠加问题、盒模型综合案例、盒子的定位等内容。 5.1 盒模型简介 ------...
* 外边距(margin):是盒子模型的外边距区域,可以设置外边距的宽度、颜色等属性。 实际应用 实际应用中,盒子模型可以用于布局、样式设置等方面。 * 布局:可以使用盒子模型来布局网页的结构 * 样式设置:可以...
盒模型包括内容区域、内边距、边框和外边距。每个元素都被视为一个矩形盒子,这些部分共同决定了元素在页面上的占用空间。 CSS布局技术是其核心之一,包括定位、浮动和Flexbox(弹性盒布局)。浮动常用于创建多列...
- **盒模型**: CSS盒模型包括内容(content)、内边距(padding)、边框(border)和外边距(margin),理解这个模型对布局至关重要。 - **层叠与继承**: CSS的“Cascading”特性意味着样式可以层层叠加,而继承则允许子...
- **盒模型**:CSS盒模型包括元素的内容(content)、内边距(padding)、边框(border)和外边距(margin)。理解盒模型对于精确布局至关重要。 2. **Div元素** - **用途**:`div`元素是一个通用容器,用于组合...
2. **盒模型**: CSS盒模型是布局的核心概念,它包括内容、内边距(padding)、边框(border)和外边距(margin)。理解盒模型的不同部分如何影响元素的大小和位置至关重要。 3. **布局技术**: CSS提供了多种布局...
3. **盒模型**:CSS2.0的盒模型包括内容(content)、内边距(padding)、边框(border)和外边距(margin),是理解布局的基础。 4. **布局模式**:包括块级元素布局和行内元素布局,以及浮动(float)和定位(position)的概念...
外边距塌陷是指两个或多个元素的外边距叠加在一起时,实际占用的空间小于每个元素的外边距之和。解决方法包括使用margin-collapse、padding、border等。 3. 清除浮动的方法 浮动(float)可以使元素脱离文档流,但...
3. **盒模型**:CSS2的盒模型包括内容(content)、内边距(padding)、边框(border)和外边距(margin),这四个部分共同决定了元素的最终尺寸。 4. **定位机制**:CSS2提供了静态定位、相对定位、绝对定位和固定定位,...
它包括元素的内容区、内边距(padding)、边框(border)和外边距(margin)。盒模型决定了元素占据的空间和相互之间的间距。 4. **响应式设计**:随着移动设备的普及,CSS3引入了媒体查询(Media Queries),允许...