• 技术文章 >web前端 >css教程

    margin-top不是作用于父元素的原因

    巴扎黑巴扎黑2017-06-28 13:44:04原创873
    为什么margin-top不是作用于父元素:
    建议:尽可能的手写代码,可以有效的提高学习效率和深度。
    至于margin-top属性的基本用法再简单不过,那就是设置一个对象的上外边距,看下面的代码实例:


    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="author" content="http://www.softwhy.com/" /><title>为什么margin-top不是作用于父元素</title><style type="text/css"> * 
    { 
      margin:0px; 
      padding:0px; 
    } p 
    { 
      width:100px; 
      height:100px; 
      background-color:green; 
      margin-top:50px; 
    } 
    </style> 
    </head> 
    <body> 
      <p></p> 
    </body> 
    </html>

    以上代码可以将p的上边距设置为50px,一切运行良好,没有任何问题,再来看下一段代码:


    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><style type="text/css"> #parent 
    { 
      width:200px; 
      height:200px; 
      background-color:red; 
    } #children 
    { 
      width:60px; 
      height:60px; 
      background-color:green; 
      margin:0px auto; 
      margin-top:50px; 
    } 
    </style> 
    </head> 
    <body> 
    <p id="parent"> 
      <p id="children"></p> 
    </p> 
    </body> 
    </html>

    以上代码的初衷是让子元素的顶部距离父元素50px,但是事实上却并没有实现预 期的效果,而是子元素顶部紧贴父元素,并且margin-top好像转移给了父元素,让父元素产生上外边距。这其实是一个典型的外边距合并问题,但是并非 所有的浏览器都会产生这种情况,一般标准浏览器都会出现此现象,而IE6和IE7在此状态下不会出现外边距合并现象。上外边距合并出现的条件:
    1.父元素的上边距与子元素的上边距之间没有border。
    2.父元素的上边距与子元素的上边距之间没有非空内容。
    3.父元素的上边距与子元素的上边距之间没有padding。
    3.父元素和子元素中没有设置定位属性(除static和relative)、overflow(除visible)和display:inline-block等。
    4.父元素或者资源都没有浮动。
    注意:以上条件必须都要满足才可以。那么解决此中情况的方式也很简单,只要破坏上面的一种情况就可以了。
    更多关于外边距合并内容可以参阅margin外边距合并详解一章节。

    以上就是margin-top不是作用于父元素的原因的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:margin-top 作用于 原因
    上一篇:父元素与子元素之间的margin-top问题 下一篇:关于内层DIV设置margin-top不起作用的解决方案
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• css3怎样实现不是直角的菱形效果• css样式中有文字描边吗• 12个值得收藏的 CSS 技巧!!• css中圆角属性值能用百分比吗• css3怎样实现翻转2次效果
    1/1

    PHP中文网