首页 > 代码库 > 浅谈分析表格布局与Div+CSS布局的区别
浅谈分析表格布局与Div+CSS布局的区别
(1)表格布局
表格布局容易掌握,布局方便。但表格布局需要通过表格的间距或者使用透明的gif图片来填充布局板块间的间距,这样布局的网页中表格会生成大量难以阅读和维护的代码;而且表格布局的网页要等整个表格下载完毕后才能显示所有内容,所有表格布局浏览速度较慢[2]。
(2)CSS+DIV布局
通常要实现比较精确和自适应的层布局需要设置层的样式,即用CSS控制层的位置。CSS+DIV布局采用Div来定位,通过Div的border(边框)、padding(填充)、margin(边界)和Float(浮动)等属性来控制板块的间距,具体实施是通过创建Div标签并对其应用CSS
[3]定位及浮动属性来实现。
CSS+DIV布局需要编写大量CSS样式代码来控制各布局DIV层,因此要掌握它相对表格布局会困难一些。但CSS+DIV布局较表格布局更加灵活实用,网站布局后很容易就能调整网站的布局结构;而且CSS+DIV布局的各布局DIV层可以依次下载显示,因此其访问速度较表
[4]格布局要快。
表格布局网页实例
以下为用表格布局的一个网页的代码[5]。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表格布局</title> </head> <body>
<table width="900" height="280" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="82" colspan="2"><img src="http://www.mamicode.com/header.jpg" width="900" height="82" /></td> </tr>
<tr>
<td height="32" colspan="2"><img src="http://www.mamicode.com/links.jpg" width="900" height="32" /></td> </tr>
<tr>
<td width="190" height="618"><img src="http://www.mamicode.com/left.jpg" width="190" height="618" /></td> <td width="710"><img src="http://www.mamicode.com/main.jpg" width="710" height="618" /></td>
</tr>
<tr>
<td height="64" colspan="2"><img src="http://www.mamicode.com/footer.jpg" width="900" height="64" /></td> </tr> </table></body></html>
CSS+DIV布局网页实例
<style type="text/css"> <!-- body{
text-align:center; } #container{
position:relative;
background-color:#00FF00;
margin-top:0px;
margin-right:auto;
margin-bottom:0px;
margin-left:auto;
height:765px;
width:900px;
text-align:left; } #header{
position:relative;
background-color:#FF0000;
height:82px;
width:900px;
text-align:left; } #links{
position:relative;
background-color:#FF9900;
height:32px;
width:900px;
text-align:left; } #left{
position:relative;
background-color:#FFFF66;
height:618px;
width:190px;
text-align:left;
float:right; } #main{
position:relative;
background-color:#00FFFF;
height:618px;
width:710px;
text-align:left;
float:left; } #footer{
position:relative;
background-color:#FF00FF;
height:64px;
width:900px;
text-align:left;
float:left; } --> </style> </head> <body> <div id="container">
<div id="header"><img src="http://www.mamicode.com/header.jpg" /></div>
<div id="links"><img src="http://www.mamicode.com/links.jpg" /></div>
<div id="left"><img src="http://www.mamicode.com/left.jpg" /></div>
<div id="main"><img src="http://www.mamicode.com/main.jpg" /></div>
<div id="footer"><img src="http://www.mamicode.com/footer.jpg" /></div> </div> </body> </html>
代码说明:
(1)代码中共包含6个div标签,分别代表6个层。其中最外层的id为container的div
[7]起到一个容器的作用,用于容纳其它5个层。
(2)选择器body和#container的样式用于将最外层id为container的div(容器层)水平居中显示。
(3)其它几个选择器样式如#header,#links,#left,#main和#footer分别用来控制容器内5个层的显示。
(4)选择器#left和#main中有一个重要CSS属性float。其中在选择器#left中设置为float:left;而选择器#main中设置为float:right。该属性设定了id为left的层居左显示,id为main的层则居右显示。
(5)如果想将id为left和main的层交换位置,只需要在选择器#left中设置float:right;同时在选择器#main中设置float:left即可。
浅谈分析表格布局与Div+CSS布局的区别