zoukankan      html  css  js  c++  java
  • 子层的margintop属性应用到父层上的解决方法

    <div style="padding-top:200px;">
        <div>子层</div>
    </div>

    前一段时间曾经遇到过内margin-top bug的问题,当时没有找到具体原因,只能用父层的padding-top属性来解决。

    近日在做另外一个站点的时候,又遇到这个问题,决定好好的研究解决一下。

    代码如下:

    理想中的效果是父层和上部层贴边显示,子层距离父层顶部有200px的距离,在ie中正常,但是在ff中却出现问题,子层和父层贴边了,而父层和上部层却间隔了200px。

    百思不得其解,求助google,得到如下的一句:

    当两个容器嵌套时,如果外层容器和内层容器之间没有别的元素,firefox会把内层元素的margin-top作用与父元素。

    也就是说因为子层是父层的第一个非空子元素,所以使用margin-top会发生这个错误。

    解决的办法有两个:

    1、使用浮动来解决,即将子层代码改为:

    <div style="margin-top:200px;float:left";>子层</div>

    2、使用padding-top来解决,即:

    <div>上部层</div>
    
    <div> <!--父层-->
         <div style="margin-top:200px;">子层</div>
    </div>

    3、当然 还有第三个办法 border-top

    <div style="border-top:1px solid transparent">
        <div style="margin-top:200px;">子层</div>
    </div>

    这个border-top的颜色就可以根据具体来操作了 一般情况不计较那1px的话 透明就好了~

  • 相关阅读:
    SAP全球企业官孙小群的生活智慧
    C++ vs Python向量运算速度评测
    C++ Error: no appropriate default constructor available
    危险的浮点数float
    Vagrant 手册之 Vagrantfile
    MySQL 服务器性能剖析
    Vagrant 手册之多个虚拟机 multi-machine
    Vagrant 手册之同步目录
    Vagrant 手册之同步目录
    MySQL 中的 information_schema 数据库
  • 原文地址:https://www.cnblogs.com/cuoreqzt/p/2829217.html
Copyright © 2011-2022 走看看