(一)今天学习了一下横向导航设计,利用 CSS 布局实现导航与 table 布局有很大区别 ^^
(二)传统的表格式导航制作如下代码,利用 table
简单实现。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>table方式实现tab</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<table width=”800” height=”24” border=”0 ” cellpadding=”0” cellspacing=”0” bgcolor=”#FFFFFF”>
<tr align=”center”>
<td bgcolor=“#ececec”><a href=“#”>首 页</a></td>
<td bgcolor=“#ececec”><a href=“#”>新 闻</a></td>
<td bgcolor=“#ececec”><a href=“#”>参 考</a></td>
<td bgcolor=“#ececec”><a href=“#”>Blog </a></td>
<td bgcolor=“#ececec”><a href=“#”>论 坛</a></td>
<td bgcolor=“#ececec”><a href=“#”>其 它</a></td>
</tr>
</table>
</body>
</html>
效果图如下:
注意:把边框和边距都设为 0 ,隐藏表格线;设定每个单元格中的文本居中对齐。这样就实现了一个简单的横向导航。( table 方法的要点是:先设计导航数据表,再将导航内容装入每个单元格中。)
(三)利用 CSS 来设计它。 CSS 就是为了实现表现与内容的分离。
在 html 文件中编写如下代码(上下省略):
<div id=”nav”>
<ul >
<li><a href=”#” id="current">首 页</a></li>
<li><a href=”#”>新 闻</a></li>
<li><a href=”#”>参 考</a></li>
<li><a href=”#”>Blog</a></li>
<li><a href=”#”>论 坛</a></li>
<li><a href=”#”>其 它</a></li>
</ul> </nav>
在 CSS 文件中代码如下(为了方便测验, CSS 代码放到 html 的 head 中即可,详情如下):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>CSS方式实现tab</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
<!--
#nav li {
float:left;
display:inline;
}
#nav li a{
color:#000000;
text-decoration:none;
paddding-top:4px;
display:block;//使a 变为块状对象,下面就可以对它设定高宽等
width:97px;
height:22px;
text-align:center;
background-color:#ececec;
margin-left:2px;
}
#nav li a:hover{
background-color:#bbbbbb;//鼠标移到频道上出现响应
color:#ffffff;
}
#nav li a #current{
background-color:#2788da;
color:#ffffff;
}
#nav{
height:26px;
border-bottom:2px solid #2788da;
}
-->
</style>
</head>
<body>
<div id="nav">
<ul>
<li><a href=”#” id="current">首 页</a></li>
<li><a href=”#”>新 闻</a></li>
<li><a href=”#”>参 考</a></li>
<li><a href=”#”>Blog</a></li>
<li><a href=”#”>论 坛</a></li>
<li><a href=”#”>其 它</a></li>
</ul>
</div>
</body>
</html>
效果图如下,当鼠标放到导航上时,背景色会变色发生响应。
( 四 ) 相比较 table 和 css 的实现, CSS 优势十分明显,代码简洁灵魂,可重用,利于维护。
( 五 ) 调整 CSS 代码结合 PS 做背景图片,最终设计的横向导航如下:
(六)导航还有很多设计类型,常见的纵向导航,还有像 javaeye 网站的二层复合式导航结构,还有下拉菜单式 / 弹出式导航,如果有机会,都要亲自一一实现去学习。