`

div嵌套引起的margin-top不起作用

    博客分类:
  • css
css 
阅读更多

div嵌套引起的margin-top不起作用

 (2012-04-06 10:56:35)
标签: 

边距

 

解决办法

 

嵌套

 

外层

 

元素

 

杂谈

分类: HTML
嵌套div中margin-top转移问题的解决办法

在这两个浏览器中,有两个嵌套关系的div,如果外层div的父元素padding值为0,那么内层div的margin-top或者margin-bottom的值会“转移”给外层div。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<div style="background-color:#FF0000;width:300px; height:100px">上部层</div>

<div style="background-color:#009900; width:300px; height:300px;overflow:hidden "> <!--父层-->
     <div style="margin:50px; background-color:#000000;width:200px; height:200px"">子层</div>
</div>

</body>
</html>

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

 

解决办法:

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

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

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

    父层div加: padding-top: 1px;

4、让父元素生成一个 block formating context,以下属性可以实现
    * float: left/right
    * position: absolute
    * display: inline-block/table-cell(或其他 table 类型)
    * overflow: hidden/auto

   父层div加:position: absolute;
分享到:
评论

相关推荐

    DIV多层嵌套margin-top的BUG问题

    今天在做登录页面的时候发现个margin-top的bug ; 初始代码如下: html: 复制代码代码如下:&lt;div class=”logo”&gt;&lt;/div&gt; &lt;div class=”login_text”&gt; &lt;div id=”error” class=”errorstyle”&gt;&lt;/div&gt; &lt;/div&gt; css: ...

    IE7、IE8、ff下的margin-top问题 折叠margin

    今天小组一同学做网站时,遇到一个关于margin-top兼容问题:有两个div,其中div1嵌套div2,而在div2里面设置margin-top后,在IE8、ff和chrome下显示的效果竟然不是想要出现的结果,而在IE7下面效果正确。

    理解margin塌陷和margin合并及其解决方案.docx

    在CSS布局中,margin塌陷是指在嵌套元素中,子元素的上外边距(`margin-top`)与父元素的上外边距重合时,它们不会简单地叠加,而是会合并成一个外边距。这种合并会导致子元素相对于父元素的位置不是预期中的那样。...

    DIV+CSS常用的网页布局代码

    - 使用`&lt;div&gt;`元素嵌套来实现复杂的多列布局。 - `clear: both;`:清除所有浮动,避免后续元素受到浮动元素的影响。 #### 三、总结 通过以上示例可以看出,**DIV+CSS**提供了极其丰富的布局手段,无论是简单的...

    DIV-CSS-必考题.docx

    DIV-CSS-必考题 CSS面试题目解析 1. 超链接访问过后 hover 样式不出现的问题...知识点解析:在 Firefox 中,嵌套 div 标签的居中问题可以使用 margin:auto 的方法来解决。这样可以在 Firefox 中实现 div 的居中放置。

    第十一课 css边距与边框-011

    border-top-style: solid; border-top-width: 10px; border-top-color: blue; border-right-style: dashed; border-right-width: 5px; border-right-color: green; border-bottom-style: dotted; border-...

    div+css整体布局

    本实例着重讲解如何利用`div+css`实现整体布局,并特别关注`float`属性的使用以及`div`的居中处理。 一、`div`元素的运用 `&lt;div&gt;`是HTML中的一个通用容器元素,用于组合其他HTML元素,为它们提供结构。在`div+css`...

    CSS边框长度控制功能的实现

    以前需要边框长度比容器小一些时,我用div嵌套。后来发现伪类在实现这个效果时很方便,只需要一个div就够了,另外调整padding和margin都不会很麻烦。 &lt;div class=content-block&gt; &lt;div class=box-container&gt; &lt;div ...

    CSS盒子模型结构

    CSS 盒子模型结构是 div+css 技术的基础组成部分,它主要解决了传统的 table 表格嵌套问题。盒子模型可以看成是网页的一个区块,也可以看成是大区块中的一个“区块元素”。既然是区块,“盒子模型”自然就会占据...

    CSS 之margin知识点(必看)

    B) 在Web布局中,任何位置嵌套或直接放置div都不会影响到原有的布局; C) 空的元素(如没有内容的p元素)不会影响原始的阅读排版。 在实际应用中,例如制作列表,可以通过设置.list元素的margin-top和margin-...

    css水平垂直居中

    - 通过 `margin-left` 和 `margin-top` 的负值来调整 div 的中心位置。 - 最重要的是,设置 `display: flex;` 及其子属性 `justify-content: center;` 和 `align-items: center;` 来实现内容的水平垂直居中。 3. ...

    DIV+CSS布局

    ### DIV+CSS布局详解 #### 一、概述 在现代Web开发中,**DIV+CSS布局**是一种常用的技术手段,用于构建网站结构和样式。它不仅能够帮助开发者更高效地组织网页内容,还能够实现更加美观的设计效果。本文将详细介绍...

    css+div技巧大全

    - 可以通过嵌套多层`&lt;div&gt;`来实现更为复杂的布局效果。 - **示例代码**: ```css #bodycenter { width: 700px; margin-right: auto; margin-left: auto; overflow: auto; } #bodycenter #dv1 { float: ...

    纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中

    4. 嵌套div垂直水平居中(通过margin): 当外层div和内层div尺寸都固定时,可以使用负边距`margin`实现居中。例如: ```css .div5 { border: 1px solid red; height: 200px; width: 200px; } .div6 { ...

    DIV+CSS 滑动门技术简单的例子.pdf

    ### DIV+CSS滑动门技术知识点详解 #### 一、滑动门技术概述 滑动门技术(Sliding Doors Technique)是一种使用HTML和CSS来创建复杂背景或图像的技术,尤其适用于按钮、导航栏等需要复杂视觉效果的设计。该技术的...

    DIV+CSS打造PHP168经典模板.doc

    同时,为了使导航条不紧贴顶部,可以通过设置`margin-top:5px;`来增加一定的间距。 - **代码示例**: ```html &lt;li&gt;&lt;a href="#"&gt;首页&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;新闻&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;产品&lt;/a&gt;&lt;/li&gt; ...

Global site tag (gtag.js) - Google Analytics