css-子div设置margin-top后,父div与子div一起下移
2017-03-26 10:32
302 查看
这个问题发生的原因是根据规范,一个盒子如果没有上补白(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、为父元素或者子元素声明绝对定位
参考文章:
http://www.cnblogs.com/zczhangcui/p/6081574.html
http://www.jb51.net/css/75789.html
再说白点就是:父元素的第一个子元素的上边距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、为父元素或者子元素声明绝对定位
参考文章:
http://www.cnblogs.com/zczhangcui/p/6081574.html
http://www.jb51.net/css/75789.html
相关文章推荐
- css-子div设置margin-top后,父div与子div一起下移
- CSS常见问题解决001——子div的margin-top影响父div的位置
- html+css-内层div设置margin-top不起作用
- CSS---关于内层DIV设置margin-top不起作用的解决方案
- 如何解决子div设置margin-top时影响父div的margin-top
- [CSS][转载]内层div的margin-top影响外层div
- IE8 CSS设置DIV居中,添加“margin:0 auto”
- CSS基础 设置div的top与left值无效
- 父div完全透明,子div不透明的css设置方法
- Css嵌套DIV,内层DIV设置margin-top失效的解决办法(转)
- css div设置positon:relative之后,再设置top,div的原位置有空白,解决办法
- CSS基础 设置top与left让两个div快出现重叠部分,并设置两者重叠的顺序
- div嵌套引起的margin-top不起作用(子div设定margin-top,导致父div与其他元素有间隙)
- 关于内层DIV设置margin-top不起作用的解决方案
- css margin-top设置html元素之间的距离
- 子DIV设置margin-top影响父DIV位置
- 关于内层DIV设置margin-top不起作用的解决方案
- 关于内层DIV设置margin-top不起作用的解决方案
- 关于内层DIV设置margin-top不起作用的解决方案
- div+css - CSS标准 - 8.3 Margin properties: 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', and 'margin' - 8.3边距属性