• margin的塌陷现象
  • 标准文档流中,竖直方向的margin不叠加,以较大的为准

  如果不在标准流,比如盒子都浮动了,那么两个盒子之间是没有塌陷现象的:

  

  • 盒子居中margin:0 auto;
  • margin的值可以为auto,表示自动。当left、right两个方向,都是auto的时候,盒子居中了:
    margin-left: auto;
    margin-right: auto; 简写为
    margin: auto; 表示上下,auto表示左右 注意:
    1) 使用margin:0 auto; 的盒子,必须有width,有明确的width
    2) 只有标准流的盒子,才能使用margin:0 auto; 居中。
    也就是说,当一个盒子浮动了、绝对定位了、固定定位了,都不能使用margin:0 auto;
    3) margin:0
    auto;是在居中盒子,不是居中文本。
    文本的居中,要使用
    text-align:center; margin: auto; → 让这个div自己在大容器中居中。
    text-align: center; → 让这个div内部的文本居中。 普及一下知识,text-align还有
    text-align:left; 没啥用,因为默认居左
    text-align:right; 文本居右
  • 善于使用父亲的padding,而不是儿子的margin
  • 如果父控件没有border,那么子控件的margin实际上踹的是“流”,踹的是这“行”。所以,父控件整体也掉下来了
    

      margin这个属性,本质上描述的是兄弟和兄弟之间的距离;最好不要用这个marign表达父子之间的距离。

    所以,我们一定要善于使用父亲的padding,而不是儿子的margin。
    这个p有一个margin-top踹父控件,试图将自己下移
    <div>
    <p></p>
    </div>
    结果:

  • 关于margin的IE6兼容问题
  • 1. IE6双倍margin bug
    出现连续浮动的元素,携带和浮动方向相同的margin时,队首的元素,会双倍marign
    <ul>
    <li></li>
    <li></li>
    <li></li>
    </ul>
    解决方案:
    )使浮动的方向和margin的方向,相反。
    所以,你就会发现,我们特别喜欢,浮动的方向和margin的方向相反。并且,前端开发工程师,把这个当做习惯了。
    float: left;
    margin-right: 40px; )使用hack(没必要,别惯着这个IE6)
    单独给队首的元素,写一个一半的margin
    <li class="no1"></li> ul li.no1{
    _margin-left:20px;
    } 2.IE6的3px bug

    解决办法:

    不用管,因为根本就不允许用儿子踹父亲。所以,如果你出现了3px bug,说明你的代码不标准。

WEB学习-CSS中Margin塌陷的更多相关文章

  1. CSS中margin和padding的区别

    在CSS中margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离.在CSS中padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离. 下面讲解 padding和ma ...

  2. CSS中margin边界叠加问题及解决方案(转)

    边界叠加简介 边界叠加是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,当两个垂直边界相遇时,它们将形成一个边界.这个边界的高度等于两个发生叠加的边界的高度中的较大者. ...

  3. CSS中margin属性

    css中margin块级元素的垂直相邻外边距会合并,比如 方框的上下外边距并不是2px,而是合并为1px了. 设置float属性就可以避免这种同级元素边距合并

  4. 【Web】CSS中的浮动float

    CSS中的float 文章目录 CSS中的float 1.float浮动属性 2.float文字环绕图片 3.float浮动的真正原因以及副作用分析 4.清除浮动的四种解决方法 5.实际应用 导航效果 ...

  5. WEB学习-CSS盒模型

    盒子的区域 一个盒子中主要的属性就5个:width.height.padding.border.margin. width是“宽度”的意思,CSS中width指的是内容的宽度,而不是盒子的宽度. he ...

  6. CSS的margin塌陷(collapse)

    <!DOCTYPEHTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head&g ...

  7. 问题与对策:CSS的margin塌陷(collapse)

    1: <!DOCTYPEHTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN"> 2: <html> 3: & ...

  8. css中margin:0 auto没作用

    很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题!margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应!其 ...

  9. 使用CSS中margin和padding的基础和注意事项

    在CSS中,margin和padding是页面布局的主要属性,如何灵活有效使用对于基于DIV+CSS设计网页方法是非常重要的,笔者经常使用且经常误使用,所以根据经验和网上资料整理出切合自己的内容,以备 ...

随机推荐

  1. scipy应用积分操作

    1.什么是scipy? SciPy是一款方便.易于使用.专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等. integra ...

  2. salt 模板

    http://www.mamicode.com/info-detail-2297406.html

  3. Survey lists 10 most innovative cities

    From China Daily Beijing and Shanghai are among the 10 most innovative cities in the world, based on ...

  4. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  5. jquery中arrt()和prop()的区别

    在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同. 但不得不说的是,这两个函数的用处却并不相同.下面我们来详细介绍这两个函数之间的区别. ...

  6. POJ:3228-Gold Transportation(要求最小生成树最大边最小)

    Gold Transportation Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3079 Accepted: 1101 D ...

  7. 关于mysql中select出数据未排序问题

    来自  mysql必知必会

  8. Freemarker的循环通过assign指令引入计数变量

    这里是一个jeecms框架的前台的一个内容列表集,因为不是每个内容子项符合要求,而且需要统计符合要求的子项个数,仿照java的for循环,需要在循环前声明一个计数变量,这就需要使用Freemaker的 ...

  9. wamp搭建的服务器远程无法访问的问题

    最近在一台win2003的服务器上安装配置好了wamp,服务启动正常,服务器本机访问localhost正常,但是我自己的电脑(相对于服务器来说是远程机器)访问时,提示显示You don't have ...

  10. monkey测试工具与常用的linux命令

    Monkey测试工具 说明:monkey是一个安卓自带的命令行工具,可以模拟用户向应用发起一定的伪随机事件.主要用于对app进行稳定性测试与压力测试. 实现:首先需要安装一个ADB工具,安装完之后,需 ...