> 웹 프론트엔드 > HTML 튜토리얼 > 为什么设置的margin-top属性不管用_html/css_WEB-ITnose

为什么设置的margin-top属性不管用_html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-24 11:36:22
원래의
1602명이 탐색했습니다.

为什么设置的margin-top属性不管用:
建议:尽可能的手写代码,可以有效的提高学习效率和深度。
有时候大家可能会遇到奇怪的现象,尽管没有任何的语法错误,但是设置的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>蚂蚁部落</title><style type="text/css">.first{  width:100px;  height:100px;  background-color:red;  margin-bottom:60px;}.second{  width:100px;  height:100px;  background-color:green;  margin-top:40px;}</style></head><body><div class="first"></div><div class="second"></div></body></html>
로그인 후 복사

从以上代码的运行可以看出,第二个div设置的margin-top并没有生效,起作用的是第一个div的设置的margin-bottom,这里有个规律,那就是合并后的外边距的高度等于外边距的高度中的较大的一个,所以遇到此种情况可以格外注意外边距大小的设置。
原因二:
子元素和父元素也可能会导致设置的子元素上外边距失效情况,代码实例如下:

<!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">.father{  width:300px;  height:300px;  background-color:red;  margin-top:20px;}.children{  width:100px;  height:100px;  background-color:blue;  margin-top:10px;}</style></head><body><div class="father">  <div class="children"></div></div></body></html>
로그인 후 복사

解决方法:
为父对象在相应的外边距方向上有边框(border)和内边距(padding),或者为overflow属性值设置为hidden即可避免。
IE6浏览器下不会出现外边距合并现象。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=4638

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿