`
wangshaofei
  • 浏览: 283613 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

盒模型嵌套元素外边距重叠问题

    博客分类:
  • css
 
阅读更多

问题:在chrome中2个div,一个嵌套另一个,被嵌套的那个层的margin-top不起作用,div2在Chrome浏览器中总是0px顶着div1

代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<style type="text/css">

<!--

    body{

    background-color:#AEB9F4;

}

#div1{

   width:602px;

   height:602px;

   margin:20px auto;

   background-color:#EDD923;

}

#div1 #div2{

   margin-top:20px;

   margin-right:20px;

   margin-bottom:20px;

   margin-left:20px;

   width:560px;

   height:560px;

   border:1px solid #000;

}

-->

</style>   

</head>

<body>

   <div id="div1">

   <div id="div2"></div>

   </div>

</body>

</html>

原因:盒子没有获得 haslayout  造成 margin-top无效

解决办法:

1、在div1父层加上:overflow:hidden;

2、把margin-top外边距改成padding-top内边距 ;

3、父元素产生边距重叠的边有不为 0 的 padding 或宽度不为 0 且 style 不为 none 的 border。

    div1加: padding-top: 1px; /* 或 border-top: 1px solid red; */

4、让父元素生成一个 block formating context,以下属性可以实现

    * float: left/right

    * position: absolute

    * display: inline-block/table-cell(或其他 table 类型)

    * overflow: hidden/auto

   div1加:position: absolute; /* 或其他可生成 block formating context 的属性 */

分享到:
评论

相关推荐

    div盒子模型3.pdf

    首先,内容区域是盒子模型的中心,它包含了网页中的文本、图片以及嵌套的其他元素。在CSS中,我们可以使用width和height属性来设置内容区域的大小。填充位于内容区域的周围,它的作用是为内容提供空间上的缓冲,防止...

    彻底弄懂CSS盒子模式

    4. **外边距(margin)**:外边距是边框之外的空间,用于控制元素之间的距离,确保它们不相互重叠。同样,外边距也可分别设置上下左右的值或统一值。 传统表格布局依赖于表格单元格的大小和嵌套,而CSS盒子模式则通过...

    DIV遮挡问题

    盒模型包括元素的内容区域、内边距(padding)、边框(border)和外边距(margin)。元素的实际尺寸是内容、内边距、边框和外边距的总和,这些因素可能会影响元素间的相对位置。 通过结合以上知识点,开发者可以...

    前端面试题内部资料

    盒模型中的外边距重叠(margin collapse)是块级元素相邻外边距相遇时发生的现象,只适用于垂直方向。BFC(Block Formatting Context)是CSS布局的一个概念,用于避免浮动元素与周边元素发生外边距重叠。 总的来说...

    前端面试题面试常见问题集合.pdf_面试资料下载

    4. **BFC(Block Formatting Context)**:BFC是块级格式化上下文,用于解决元素的垂直外边距重叠问题。创建BFC的方法有:根元素、浮动元素、绝对定位元素、`display`值为`inline-block`、`table-cell`、`flow-root`...

    css_布局网站_CSS

    CSS的布局机制主要基于盒模型,它将每个HTML元素视为一个矩形盒子,包含内容区、内边距、边框和外边距。理解盒模型是掌握CSS布局的关键,因为这决定了元素占据的空间和相互之间的间距。 1. 内容区:元素的实际内容...

    精通CSS+DIV源码 第二章

    2. **CSS盒模型**:CSS盒模型描述了元素如何占据空间,包括内容区域、内边距、边框和外边距。这一章可能会详细解析这四个部分,并解释盒模型的不同类型——W3C标准盒模型和IE盒模型的区别。 3. **布局技术**:CSS...

    面试宝典指南大全

    41. **盒模型与外边距重叠** CSS中的外边距重叠是多个外边距相遇时,只取最大的边距值。 42. **透明效果** rgba()方法通过改变颜色的alpha通道来实现透明效果,而opacity属性则影响整个元素的透明度。 43. **...

    web前端面试题

    - 外边距重叠是指当两个垂直外边距相遇时,它们合并为一个外边距的现象。 - 重叠的结果是实际的外边距值等于两者中的最大值。 **24. rgba() 和 opacity 的透明效果有什么不同?** - `rgba()` 用于设置颜色,可以...

    div+css有实例,易学易懂

    - **内容与盒模型**:包括内容、填充、边框和外边距。 - **背景与盒模型**:背景色和背景图片的适用范围。 #### 补白属性 - **补白属性详解**:`padding`属性及其四个方向的细分。 - **百分比值的使用**:根据容器...

    CSS参考手册_第6章__CSS容器属性

    **负边界** 是一种特殊情况,它允许元素的边界值为负数,从而使元素重叠或移出其正常位置。这对于实现某些特殊的布局效果非常有用。 - **示例**:`.content { margin-left: -10px; }` 使元素向左移动10像素。 ####...

    《网页设计与制作基础》实验指导书(2010-2011-2)-实验63.pdf

    CSS盒模型是网页布局的基础,它定义了元素的总宽度和高度,包括内容区域、内边距、边框和外边距。理解盒模型可以帮助开发者精确控制元素的尺寸和位置。在CSS中,每个元素都被视为一个矩形盒子,通过设置盒模型的各个...

    前端复习资料.pdf

    23. **外边距重叠**: 当相邻元素之间存在外边距时,可能会出现重叠现象,导致的结果可能是外边距值不是简单相加。 24. **透明度设置**: rgba()允许设置元素的透明度,而opacity影响整个元素的透明度。 25. **垂直...

    用css实现的控制 页面布局

    1. **盒模型**:CSS的盒模型是理解布局的基础,每个HTML元素都可以视为一个矩形的盒子,包含内容区、内边距、边框和外边距。理解盒模型有助于精确控制元素的尺寸和间距。 2. **定位机制**:CSS提供了相对定位、绝对...

    模型布尔算法

    模型相交功能则是将两个或多个模型重叠部分合并成一个新的单一形状。这种技术在建筑可视化、产品设计和游戏资产制作中非常常见,可以用来创造嵌套或叠加的结构。Boolean RT的高效算法确保了即使在处理大量多边形的...

    高效学习css布局之道 源代码

    1. **盒模型**:CSS布局的基础是盒模型,每个HTML元素都被视为一个矩形盒子,包含内容区域、内边距、边框和外边距。理解如何计算元素的总宽度和高度至关重要,这对精确布局至关重要。 2. **流体布局与响应式设计**...

    网页拼接,html css

    正确理解和运用盒模型,能避免元素间重叠或间距不一致的问题。 另外,响应式设计也是现代网页开发的关键,它使得网页能够适应不同设备和屏幕尺寸。通过媒体查询(media queries)和百分比单位,我们可以确保网页在...

    css网站开发布局技巧

    例如,通过设置负外边距,可以使元素重叠;通过百分比单位,可以创建自适应的内边距和边框。 栅格系统(Grid System)是组织网页元素的有效工具,它基于行和列的网格结构。Bootstrap和Flexbox等框架提供了预定义的...

    CSS布局之道

    学会如何根据需求选择合适的定位方式,可以解决元素重叠、浮动等问题。 4. **浮动布局**:浮动布局是早期常用的布局方式,通过float属性可以使元素向左或向右移动,常用于创建多列布局。但需要注意清除浮动,防止父...

    DIVCSS布局大全

    理解这个属性对于处理重叠元素的布局问题至关重要。 10. **CSS预处理器**:Sass、Less和Stylus等CSS预处理器可以提升CSS的编写效率和可维护性,通过变量、嵌套规则和函数等特性使CSS代码更易于管理和扩展。 11. **...

Global site tag (gtag.js) - Google Analytics