Div+CSS网页布局三栏页CSS?float方法
?
Div + CSS 进行网页布局,适当地运用 absolute 与 relative
,能给布局带来意想不到的效果和方便,达到事半功倍…本文介绍了关于 absolute 与 relative
的运用。
详细讲解两者的关系,需要配合例子,请先看例子:
以下是引用片段:
<html xmlns="http://www.w3.or g/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Div + CSS Example, Wayhome's Blog</title> <style type="text/css"> <!-- body,td,th{font-family:Ver dana;font-size:9px;} --> </style></head> <body> <div style="position:absolute; top:5px; r ight:20px; width:200px; height:180px; background:#00FF00;"> position: absolute;<br /> top: 5px;<br /> r ight: 20px;<br /> <div style="position:absolute; left:20px; bottom:10px; width:100px; height:100px; background:#00FFFF;"> position: absolute;<br /> left: 20px;<br /> bottom: 10px;<br /> </div> </div> <div style="position:absolute; top:5px; left:5px; width:100px; height:100px; background:#00FF00;"> position: absolute;<br /> top: 5px;<br /> left: 5px;<br /> </div> <div style="position:relative ; left:150px; width:300px; height:50px; background:#FF9933;"> position: relative ;<br /> left: 150px;<br /> <br /> width: 300px; height: 50px; <br /> </div> <div style="text-align:center ; background:#ccc;"> <div style="mar gin:0 auto; width:600px; background:#FF66CC; text-align:left;"> <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p> <div style="padding:20px 0 0 20px; background:#FFFF00;"> padding: 20px 0 0 20px; <div style="position:absolute; width:100px; height:100px; background:#FF0000;">position: <span style="color :#fff; ">absolute</span>;</div> <div style="position:relative ; left:200px; width:500px; height:300px; background:#FF9933;"> position: <span style="color :blue;">relative </span>;<br /> left: 200px;<br /> <br /> width: 500px;<br /> height: 300px;<br /> <div style="position:absolute; top:20px; r ight:20px; width:100px; height:100px; background:#00FFFF;"> position: absolute;<br /> top: 20px;<br /> r ight: 20px;<br /></div> <div style="position:absolute; bottom:20px; left:20px; width:100px; height:100px; background:#00FFFF;"> position: absolute;<br /> bottom: 20px;<br /> left: 20px;<br /> </div> </div> </div> </div> </div> </body> </html>?
absolute:绝对定位,CSS 写法“ position: absolute; ”,它的定位分两种情况,如下:
1. 没有设定 Top、R
ight、Bottom、Left 的情况,默认依据父级的“内容区域原始点”为原始点,上面例子红色部分(父级黄色区域有 Padding 属性,“坐标原始点”和“内容区域原始点”不一样)。
2. 有设定 Top、R
ight、Bottom、Left 的情况,这里又分了两种情况如下:
(1). 父级没 position 属性,浏览器左上角(即 Body)为“坐标原始点”进行定位,位置由 Top、R
ight、Bottom、Left 属性决定,上面例子绿色部分。
(2). 父级有 position 属性,父级的“坐标原始点”为原始点,上面例子浅蓝色部分。
relative
:相对定位,CSS 写法“ position: relative
; ”,参照父级的“内容区域原始点”为原始点,无父级则以 Body 的“内容区域原始点”为原始点,位置由 Top、R
ight、Bottom、Left 属性决定,且有“撑开或占据高度”的作用,上面例子橙色部分。
通过上面的例子和讲解,相信熟练运用 absolute 与 relative
并不是一件很困难的事,我们周围有不少关于 absolute 与 relative
的好例子,比如“网易163免费邮”首页(http://mail.163.com),里面就有大量的运用。
例子代码在 IE5.5、IE6、FF1.5、Oper
a9 测试通过。