margin-top 实效问题

文章出处:http://developer.51cto.com/art/201009/225816.htm

CSS属性有很多值得学习的地方,你对CSS中margin-top属性失效的解决方法是否熟悉,这里和大家分享一下,相信通过本文的介绍你对margin-top属性失效的解决方法一定会有深刻的认识。

关于margin-top属性失效的解决方法

常出现两种情况:

(一)margin-top失效

先看下面代码:

  1. <div>
  2. <divclassdivclass="box1">float:left</div>
  3. <divclassdivclass="box2">clear:both;margin-top:20px;</div>
  4. </div>

两个层box1和box2,box1具有浮动属性,box2没有,这时候设置box2的上边距margin-top没有效果。

网上能找到的两种比较靠谱的解释:

1:“在CSS2.1中,水平的margin不会被折叠;垂直margin可能在一些盒模型中被折叠…”

2:当第一个层浮动,而第二个没浮动层的margin会被压缩,详见--浮动元素后非浮动元素的margin的处理。

得到解决问题思路:要浮动一起浮动,要就一起不浮动。

解决办法:

1.box2增加float属性

2.box1与box2之间增加一层"<divstyle="clear:both;"></div>"

(二)子元素设置margin-top作用于父容器

  1. <divclassdivclass="box"style="height:100px;background:red;">
  2. <divclassdivclass="box2">clear:both;
  3. margin-top:20px;height:50px;width:500px;
  4. background:#000;</div>
  5. </div>

当给box2设置margin-top时,在FF下仅作用于父容器。

解决办法:

1.给父容器box加overflow:hidden;属性

2.父容器box加border除none以外的属性

3.用父容器box的padding-top代替margin-top

时间: 2024-11-08 21:09:27

margin-top 实效问题的相关文章

关于margin top百分比值的问题

不想说今天心情有多差! 9点多开始发现一个"bug",需求是根据屏幕高度动态调整某个div的位置,代码大概是这样的. <div style="margin-top: 25%; margin-left:25%; width:50px; height:50p; background-color: yellow;"> </div> 演示: 然后就发现,"当窗口宽度变化的时候,margin-top变了,变了!了!!!" ,调了一个

左右margin top问题百分比值

不想说今天心情有多差! 9点多開始发现一个"bug",需求是依据屏幕高度动态调整某个div的位置.代码大概是这种. <div style="margin-top: 25%; margin-left:25%; width:50px; height:50p; background-color: yellow;"> </div> 演示: 然后就发现."当窗体宽度变化的时候,margin-top变了,变了!了.!!" ,调了一个晚

margin top 无效

常出现两种情况: (一)margin-top失效 两个层box1和box2,box1具有浮动属性,box2没有,这时候设置box2的上边距margin-top没有效果. 解决办法: 1.box2增加float属性 2.box1与box2之间增加一层"<divstyle="clear:both;"></div>" (二)子元素设置margin-top作用于父容器 当给box2设置margin-top时,在FF下仅作用于父容器. 解决办法: 1.

不要告诉我你懂margin

你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素.内联元素中的区别?什么时候该用padding而不是margin?你知道负margin吗?你知道负margin在实际工作中的用途吗?常见的浏览器下margin出现的bug有哪些?-- 写css,你少不了与margin打交道,而对于这个平时我们最常用的css属性我们并非十分了解.介于此我打算写下这篇文章,一来是自己工作中的总结,也是对自己知识的一次梳理. Margin是什么 CSS 边距属性定

css中的margin及外边距折叠

平时在工作中,总是有一些元素之间的边距与设定的边距好像不一致的情况,一直没明白为什么,最近仔细研究了一下,发现里面有学问:垂直元素之间的margin有有互相重叠的情况:新建一个BFC后,会阻止元素与外界元素的重叠现象. 先了解几个概念:可替换元素.不可替换元素(non-replaced element).包含块(containing block).块级格式化上下文(BFC). 1.可替换元素与不可替换元素 根据css1 中所述:所谓可替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内

margin属性

定义和用法 margin 简写属性在一个声明中设置所有外边距属性.该属性可以有 1 到 4 个值. margin: top right bottom left margin-top: margin-right: margin-bottom: margin-left:

负Margin

现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在.个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负margin技术进行实现. 负margin理论: 在说明什么是负margin之前,你得清楚margin是个啥么玩意,如果还不清楚可以先阅读本人的前一篇文章<不要告诉我你懂margin>,预补下知识,回头再读这篇文章,相信俩篇文章都能给你带来不少的收获. 为了形象.易懂的解释负margin,我们将引入W3C

CSS margin属性与用法教程

margin 属性是css用于在一个声明中设置所有 margin 属性的简写属性,margin是css控制块级元素之间的距离, 它们之间是透明不可见的. margin属性包含了margin left :距左元素块距离(设置距左内边距) :margin top:距头顶(上)元素块距离(设置距顶部元素块距离):margin right :距右元素块距离(设置距右元素块距) :margin bottom :底元素块距离(设置距低(下)元素块距).其二维构建图可见CSS属性二维图. margin的解剖图

标签页-导航 负margin

/* 标签页菜单 */div.bs-docs-example { position: relative; width: 600px; margin: 15px auto; padding: 39px 19px 14px; background-color: white; border: 1px solid #DDD; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;} div.bs-docs-exam

我知道你不知道的负Margin

现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在.个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负margin技术进行实现. 负margin理论: 在说明什么是负margin之前,你得清楚margin是个啥么玩意,如果还不清楚可以先阅读本人的前一篇文章<不要告诉我你懂margin>,预补下知识,回头再读这篇文章,相信俩篇文章都能给你带来不少的收获. 为了形象.易懂的解释负margin,我们将引入W3C