margin-top失效的解决方法

异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html

我的是属于这种情况

按照网上的说法,我就是这个现象了

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

 

这是网上的解决方法(并不适用我的情况)http://developer.51cto.com/art/201008/222728.htm

本文向大家描述一下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

我的是这样解决的:

直接设置父元素的margin-bottom:-20%;

 

后来为了漂亮,直接让他们全部浮动了,在橙色的div层使用取消浮动

时间: 2024-11-08 23:23:43

margin-top失效的解决方法的相关文章

win7系统搜索功能失效的解决方法

  win7系统搜索功能失效的解决方法           1.在桌面上按组合键(win+R)打开"运行窗口"或者点击桌面左下角"开始菜单"找到"运行...",在运行界面输入框输入"regedit",按回车键确认,如下图所示: 2.打开注册表编辑器后,依次展开路径"HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerCabinetState&q

php多次include后导致全局变量global失效的解决方法

这篇文章主要介绍了php多次include后导致全局变量global失效的解决方法,实例分析了$GLOBALS失效的原理与解决方法,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php多次include后导致全局变量global失效的解决方法.分享给大家供大家参考.具体分析如下: 在多个文件中,文件一个接一个include,但最后一个文件里的函数使用global后却无法引用全局变量.例如: a.php文件: ? 1 2 3 <?php $aa = 1; ?> b.php文件

window.location.href IE下跳转失效的解决方法

 这篇文章主要介绍了window.location.href IE下跳转失效的解决方法,需要的朋友可以参考下 代码如下: <a href="javascript:void(0)" >GoNext</a>  $("a").click(function(){  window.location.href = "xxx.html";  })    代码如上,在IE下,特别是在IE6中,点击超链接之后,浏览器并没有发生跳转行为. 

thinkPHP使用post方式查询时分页失效的解决方法_php实例

本文实例讲述了thinkPHP使用post方式查询时分页失效的解决方法.分享给大家供大家参考,具体如下: 昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢各位大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进

Jquery对新插入的节点 绑定Click事件失效的解决方法_jquery

1.有人说用 Live, 事实上现在最新的Jquery已经不支持 Live 了.live的解决方法如下: 你可以看这个 也可以不看 ,只是做到心中有数就可以了.下面介绍ON的方法. live:Live的使用介绍 2.有人用了ON 来解决, 这个解决方法基本在理. On :On的介绍,能解决问题 On的方法,基本能解决问题,但是你也要根据你的具体情况做选择.并不是每个人的代码都像上面这个案例描述的那么简单.但是万变不离其宗. 我是这样来做的,最终把问题解决了.  我有一个UL 标签是静态的,就是说

android开发 eclipse alt+”/”自动提示失效的解决方法_Android

1.用于没有一点提示的情况:依次打开eclipse上面的windows --preferences --java --editor -- content assist ,在右上方有一行"select the proposal kinds contained in the 'default' content assist list" 下面,勾选Java Prolosals 复选框,保存退出即可. 开发 eclipse alt+/自动提示失效的解决方法_Android-eclipse al

php多次include后导致全局变量global失效的解决方法_php技巧

本文实例讲述了php多次include后导致全局变量global失效的解决方法.分享给大家供大家参考.具体分析如下: 在多个文件中,文件一个接一个include,但最后一个文件里的函数使用global后却无法引用全局变量.例如: a.php文件: <?php $aa = 1; ?> b.php文件: <?php include a.php function show(){ global $aa; var_dump($aa); } ?> 显示:null; 这种失效是由于多种原因造成的

ajax 操作全局监测,用户session失效的解决方法_AJAX相关

ajax 操作全局监测,用户session失效的解决方法 jQuery(function ($) { // 备份jquery的ajax方法 var _ajax = $.ajax; // 重写ajax方法,先判断登录在执行success函数 $.ajax = function (opt) { var _success = opt && opt.success || function (a, b) { }; var _opt = $.extend(opt, { success: functio

ajax 操作全局监测,用户session失效的解决方法

ajax 操作全局监测,用户session失效的解决方法 jQuery(function ($) { // 备份jquery的ajax方法 var _ajax = $.ajax; // 重写ajax方法,先判断登录在执行success函数 $.ajax = function (opt) { var _success = opt && opt.success || function (a, b) { }; var _opt = $.extend(opt, { success: functio