欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

div+css网页布局设计新开端(5)

程序员文章站 2024-01-15 14:57:10
...
下面说说内外边距合并的问题

<html>
<head>
<style type="text/css"> #a{
width:100px;
height:50px;
background:red;
margin-bottom:20px;
}
#b{
width:100px;
height:50px;
background:green
} 
</style> <head>
<body> <div id="a"></div>
<div id="b"></div> </body>
</html>

a层的下外边距是20px
下面看图

div+css网页布局设计新开端(5)

下面把绿色的层上外边距改为10px

<html>
<head>
<style type="text/css"> #a{
width:100px;
height:50px;
background:red;
margin-bottom:20px;
}
#b{
width:100px;
height:50px;
background:green;
margin-top:10px;
} 
</style> <head>
<body> <div id="a"></div>
<div id="b"></div> </body>
</html>

div+css网页布局设计新开端(5)

没任何区别

简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。
在看图

div+css网页布局设计新开端(5)


如果两者一样的px怎么办?假如都是20px

<html>
<head>
<style type="text/css"> #a{
width:100px;
height:50px;
background:red;
margin-bottom:20px;
}
#b{
width:100px;
height:50px;
background:green;
margin-top:20px;
} 
</style> <head>
<body> <div id="a"></div>
<div id="b"></div> </body>
</html>

效果还是一样哦

div+css网页布局设计新开端(5)

div+css网页布局设计新开端(5)

下面测试一下

<html>
<head>
<style type="text/css"> #a{
width:100px;
height:100px;
background:red;
margin-top:20px;
}
#b{
width:50px;
height:50px;
background:green;
margin-top:10px;
} 
</style> <head>
<body> <div id="a"><div id="b"></div></div> 
</body>
</html>

ie6的显示

div+css网页布局设计新开端(5)


火狐的显示

div+css网页布局设计新开端(5)

可以看出ie6是不合并的,火狐的合并的

可能有人会好奇
这个为什么红色没有贴紧上面的浏览框
其实没有浏览器都有默认的内外边距的

div+css网页布局设计新开端(5)

只需要

<html>
<head>
<style type="text/css"> 
*{
margin:0;
padding:0;
} #a{
width:100px;
height:50px;
background:red;
margin-bottom:20px;
}
#b{
width:100px;
height:50px;
background:green;
margin-top:10px;
} 
</style> <head>
<body> <div id="a"></div>
<div id="b"></div> </body>
</html>


div+css网页布局设计新开端(5)

有些浏览器可能要用

body{
margin:0;
padding:0;
}

以上就是div+css网页布局设计新开端(5)的内容,更多相关内容请关注PHP中文网(www.php.cn)!