这篇文章演示在一个页面上有效的使用div元素来构建网站,而不是使用table元素。因为div元素有很多优势,所以大部分客户开发网站要求设计开发div元素,而不是table元素。上面的代码是是为了给初学者学习使用div元素开发网站的。
下面解释为什么使用div元素而不是table元素
table元素的优点:大多是设计开发者使用table是为了统一的外观。table也非常容易维护。另一个表的好处是,它是与大多数浏览器兼容。
table元素的缺点: 所有的这些都需要消耗成本:嵌套太多的table会增加页面的大小和下载时间。太多的table元素会使网页重要的内容占有比例下降,导致搜索蜘蛛把没用的内容添加到搜索引擎中。
DIV元素的优点:div加css,我们可以实现同样的基于table的页面结构,而且可以减少页面上的元素数目,这样使页面加载更快。这也使得更多的网页与搜索引擎匹配。
DIV 元素的缺点:主要的缺点是,并非所有的CSS元素与所有的浏览器兼容。正因为如此,我们必须写一些自定义CSS来解决问题。
我已经创建了一个简单的应用程序,展示了如何轻松地就可以创建仅仅只有div元素的网页。
下面的图展示了div元素的布局
这里是我创建的对页面布局css样式表类的列表,让我们看看更多的细节。
divHeaderTable: 设计html页面的头部,应用此样式的div作用相当于headertable 。
divHeaderRow:应用此样式的div作用相当于table的header row 。由于头部的图像固定为105,所以row中height元素值为105px。
divHeaderColumn
:应用此样式的div作用相当于table的header column 。值为99%的头部元素被划分为3个这样的元素部分。divTable
: 应用此类的div作用相当于html文档容器中的table 。divRow
: 应用此类的div作用相当于html文档容器中的row。divColumn
: 应用此样式的div 相当于html文档容器中的Column。容器里面将有四个width为24%的row。-
代码body
{
background-color: LightBlue;
font-family: Verdana;
font-size: 13px;
}
.divHeaderTable
{
width: 100%;
padding-bottom:5px;
display:block;
}
.divHeaderRow
{
width: 100%; /* add extra that you want to for header column */
display:block;
height:105px;
}
.divHeaderColumn
{
float: left;
width: 33%;
display:block;
}
.divTable
{
width: 100%;
display:block;
padding-top:10px;
padding-bottom:10px;
padding-right:10px;
padding-left:10px;
}
.divRow
{
width: 99%;
display:block;
padding-bottom:5px;
}
.divColumn
{
float: left;
width: 24%;
display:block;
}以下是网页的HTML代码显示如何把css类分配给相应的网页元素。
代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gmind Solusion-DivElement Layout</title>
<link href="CSS/StyleSheet.css" rel="Stylesheet" type="text/css" />
</head>
<body>
<div style="99%; height:565px;">
<div class="divHeaderTable">
<div class="divHeaderRow">
<div class="divHeaderColumn">
<img alt="Offshore Outsourcing software development company India"
title="Offshore Outsourcing software development company India"
src="Images/gmind.png" width="100%" height="105" />
</div>
<div class="divHeaderColumn">
</div>
<div class="divHeaderColumn">
<div>
<img alt="Gmind" width="15" height="10" src="Images/smllindia.jpg" />
+91-9702989270
</div>
<div>
<img alt="Gmind" src="Images/smallusa.jpg" />
+91-9924839208
</div>
<div>
</div>
<div>
</div>
</div>
</div>
</div>
<div id="menu" class="divHeaderTable" >
<ul style="list-style-type:none;" >
<li style="float:left"><a href="javascript:void(0);" >Home</a> </li>
<li style="float:left"><a href="javascript:void(0);" >About Us</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Services</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Technology</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Outsourcing</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Quality</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Career</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Blogs</a> </li>
<li style="float:left"><a href="javascript:void(0);" >Partner</a> </li>
<li><a href="javascript:void(0);" title="Contact Us">Contact Us</a> </li>
</ul>
</div>
<div id="divHeader" class="divHeaderTable">
<h4>User Registration</h4>
</div>
<div id="content" class="divTable">
<div class="divRow">
<div class="divColumn">
<div>
<label id="lblSolutation" > Solutation</label>
</div>
<div>
<input type="text" id="txtSolutation" />
</div>
</div>
<div class="divColumn">
<div>
<label id="lblFname" > First Name</label>
</div>
<div>
<input type="text" id="Text1" />
</div>
</div>
<div class="divColumn">
<div>
<label id="lblMname" > Middle Name</label>
</div>
<div>
<input type="text" id="Text2" />
</div>
</div>
<div class="divColumn">
<div>
<label id="lblLname" > Last Name</label>
</div>
<div>
<input type="text" id="Text3" />
</div>
</div>
</div>
<div class="divRow">
<div class="divColumn">
<div>
<label id="Label10" > Login Name</label>
</div>
<div>
<input type="text" id="Text13" />
</div>
</div>
<div class="divColumn">
<div>
<label id="Label9" > E-mail</label>
</div>
<div>
<input type="text" id="Text12" />
</div>
</div>
<div class="divColumn">
<div>
<label id="Label7" > Password</label>
</div>
<div>
<input type="password" id="Text10" />
</div>
</div>
<div class="divColumn">
<div>
<label id="Label8" > Confirm Password</label>
</div>
<div>
<input type="password" id="Text11" />
</div>
</div>
</div>
<div class="divRow">
<div class="divColumn" style="48%;">
<div>
<label id="Label1" > Address1</label>
</div>
<div>
<textarea id="Text4" style="80%;" ></textarea>
</div>
</div>
<div class="divColumn" style="48%;">
<div>
<label id="Label3" > Address2</label>
</div>
<div>
<textarea id="Text6" style="80%;"> </textarea>
</div>
</div>
</div>
<div class="divRow">
<div class="divColumn">
<div>
<label id="Label2" > State</label>
</div>
<div>
<input type="text" id="Text5" />
</div>
</div>
<div class="divColumn">
<div>
<label id="Label4" > City</label>
</div>
<div>
<input type="text" id="Text7" />
</div>
</div>
<div class="divColumn">
<div>
<label id="Label5" > Country</label>
</div>
<div>
<input type="text" id="Text8" />
</div>
</div>
<div class="divColumn">
<div>
<label id="Label6" > Pin Code</label>
</div>
<div>
<input type="text" id="Text9" />
</div>
</div>
</div>
<br />
<div class="divRow">
<input type="submit" value="Submit" onclick="javascript:void(0);" />
or
<a href="javascript:void(0)">Cancel </a>
</div>
</div>
</div>
<div style="text-align:center; background-color:Green;">
Contact us to discuss your requirements
</div>
</body>
</html> -
然这个不是唯一的你能使用div 和CSS创建的结构,你也能实现不同的布局。
-
从上面的例子我们可以看到css布局是非常容易和强大 ,因为这个网页下载很快,避免使用过多的标签,制作的网页能吸引更多的搜索引擎。