css中子元素设置margin-top为什么影响了父元素

所属分类: 网页制作 / CSS 阅读数: 1497
收藏 0 赞 0 分享

本文介绍了css中子元素设置margin-top为什么影响了父元素,分享给大家,具体如下:


<style type="text/css"> 
    *{
        margin: 0px; padding: 0px; 
    }
    .show{
        margin: 0px auto;
        width: 200px;
        height: 100px;
        background-color: #999999;
    }
    .show h2{
        margin-top: 50px;
        cursor: pointer;
    }
</style>

<body>
    <div class="show">
       <h2>crystal</h2>
    </div>
</body>

两个div,子元素div设置了margin-top后,发现并没有跟想象的一样,而发现父元素产生了间距。

如上图。

原理:margin折叠

在css2.1盒模型仲规定的内容

因为嵌套也属于毗邻,所以在样式表中优先级更高子元素的margin会覆盖外层父元素定义的margin。

父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding.就会不断一层一层的找自己 “领导”(父元素,祖先元素)的麻烦。只要给领导设置个有效的 border或者padding就可以有效的管制这个目无领导的margin防止它越级,假传圣旨,把自己的margin当领导的margin执行。

解决办法:

1、父元素或者子元素使用浮动或者绝对定位。
2、父级设置overflow:hidden
3、父级设置padding(破坏非空白的折叠条件)
4、父级设置border

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

CSS圆角边框制作指南与实例

这篇文章主要介绍了CSS圆角边框制作指南与实例,这里突出讲解了以纯代码实现的小圆角 来消灭锯齿的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

css实现移动端图片文字水平居中

这篇文章主要为大家详细介绍了css实现移动端图片文字水平居中的方法,如何实现图片以及文字的整体水平居中,本文为大家提供两种解决办法,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Div+CSS对HTML的table表格定位用法实例

这篇文章主要介绍了Div+CSS对HTML的table表格定位用法实例,文中讲到了CSS的定位差异问题需要的朋友可以参考下
收藏 0 赞 0 分享

使用div+CSS将页脚始终控制在页面最下方的方法

这篇文章主要介绍了使用div+CSS将页脚始终控制在页面最下方的方法,文中介绍了设置container以及使用绝对定位两种方法来解决,需要的朋友可以参考下
收藏 0 赞 0 分享

你值得拥有的CSS下拉菜单效果

这篇文章主要介绍了你值得拥有的多种CSS下拉菜单效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

CSS利用伪元素实现导航栏斜线分隔

这篇文章主要介绍了CSS利用伪元素实现导航栏斜线分隔的相关资料
收藏 0 赞 0 分享

纯CSS3打造属于自己的“小黄人”

这篇文章主要为大家详细介绍了纯CSS3打造属于自己的“小黄人”的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

浅谈各种浏览器下的CSS Hack兼容性写法

这篇文章主要介绍了各种浏览器下的CSS Hack兼容性写法,CSS Hack大致可以分为内部Hack和选择器Hack以及HTML头部引用Hack,需要的朋友可以参考下
收藏 0 赞 0 分享

学习DIV+CSS网页布局之一列布局

学习DIV+CSS网页布局中的一列布局,本文为大家分享的是DIV+CSS网页布局教程的第一篇,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

学习DIV+CSS网页布局之两列布局

学习DIV+CSS网页布局中的两列布局,本文为大家分享的是DIV+CSS网页布局教程的第二篇,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多