zoukankan      html  css  js  c++  java
  • 关于父元素和子元素的margin-top问题

    昨天试着自己写个web简历,碰到的第一个问题竟然是margin-top的疑问,下面是经过百度后的一些理解和记录,仅作自我学习之用。

    #######hack:
    父元素的盒子包含一个子元素盒子,给子元素盒子一个垂直外边距margin-top,父元素盒子也会往下走margin-top的值,而子元素和父元素的边距则没有发生变化。

    `

    `

    .box1{height:200px;200px;background:gray;} .box2{height:100px;100px;background:gold;margin-top:50px;}

    这个问题发生的原因是根据规范,一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。
    再说了白点就是:父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding.就会不断一层一层的找自己 “领导”(父元素,祖先元素)的麻烦。只要给领导设置个有效的 border或者padding就可以有效的管制这个目无领导的margin防止它越级,假传圣旨,把自己的margin当领导的margin执行。

    解决方法:

    1、修改父元素的高度,增加padding-top样式模拟(padding-top:1px;常用)
    2、为父元素添加overflow:hidden;样式即可(完美)
    3、为父元素或者子元素声明浮动(float:left;可用)
    4、为父元素添加border(border:1px solid transparent可用)
    5、为父元素或者子元素声明绝对定位

  • 相关阅读:
    架构与模式11
    Unix/Linux命令
    Winform的Excel表格
    B/S结构一机多屏实现
    Effective C++函数参数传递方式
    Django & Tornado
    ThoughtWorks读书路线图
    善用泛型 委托
    SQL 关于with cube ,with rollup 和 grouping
    测试工程师实习笔试题
  • 原文地址:https://www.cnblogs.com/wjx91/p/5566416.html
Copyright © 2011-2022 走看看