水平导航条
和垂直导航条一样,先要建无序列表:
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">NEWS</a></li>
<li><a href="#">PRODUCTS</a></li>
<li><a href="#">SERVICES</a></li>
<li><a href="#">CLIENTS</a></li>
<li><a href="#">CASE STUDIES</a></li>
</ul>
去掉列表符号,并将padding和margin设置为0,想让水平导航条宽度为720px,并加上背景:
ul {
padding:0;
margin:0;
list-style:none; /*去掉列表符号*/
width:720px; /*该句也可取消,这样其宽度由所有锚总宽决定*/
background:#66CCFF; /*若想为整个水平导航条加背景,就在说行加*/
}
到这里,它还是垂直的,还得让它有变成水平的:
ul li{
float:left;
}
我们知道,当元素浮动时,它不再占据文档流的任何空间,因此,父列表实际上没有内容,它就会收缩,从而隐藏列表背景。
有两种方法可父列表可包含浮动元素:其一是加人一个进行清理的元素(但这要加人不必要的元素),其二是对父元素也进行浮动:
ul {
padding:0;
margin:0;
list-style:none;
width:720px;
folat:left;
background:#66CCFF;
}
接着,设置块状效果,以块宽度,行高,链文本样式:
ul a{
display:block;
padding:0 1em;
line-height:1.5em;
color:#FFFFFF;
text-decoration:none;
}
再加一点就可以实现漂亮的翻转效果了:
ul a:hover{
background:#FFFFFF;
color:#000000;
}
到此,大多数浏览器材都能正确工作,但Mac IE5.2还不能正确显示,为避免这个问题,需要对锚进行浮动:
ul a{
display:block;
float:left; /*为了能在Mac上的IE5.2能正确工作,就要加上它*/
padding:0 1em;
line-height:1.5em;
color:#FFFFFF;
text-decoration:none;
}
最后的完整代码
有这么一种情况:直接在ul内加人id,而整个列表又被置于一个容器wrap内,这时,该怎么写:
#wrap{
margin:6em 20em;
}
#nav{
paddign:0;
margin:0;
width:500px;
font:bold;
float:left;
background:#CC9966 url(images/mainNavBg.gif) repeat-x;
list-style:none;
}
#nav li{
float:left;
}
#nav a{
display:bock;
float:left;
padding:0 2em;
line-height:1.5em;
color:white;
text-decoration:none;
}
#nav a:hover{
background:#33CCFF;
color:white;
}
......
<div id="wrap">
<ul id="nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">NEWS</a></li>
<li><a href="#">PRODUCTS</a></li>
<li><a href="#">SERVICES</a></li>
<li><a href="#">CLIENTS</a></li>
<li><a href="#">CASE STUDIES</a></li>
</ul>
去掉列表符号,并将padding和margin设置为0,想让水平导航条宽度为720px,并加上背景:
ul {
padding:0;
margin:0;
list-style:none; /*去掉列表符号*/
width:720px; /*该句也可取消,这样其宽度由所有锚总宽决定*/
background:#66CCFF; /*若想为整个水平导航条加背景,就在说行加*/
}
到这里,它还是垂直的,还得让它有变成水平的:
ul li{
float:left;
}
我们知道,当元素浮动时,它不再占据文档流的任何空间,因此,父列表实际上没有内容,它就会收缩,从而隐藏列表背景。
有两种方法可父列表可包含浮动元素:其一是加人一个进行清理的元素(但这要加人不必要的元素),其二是对父元素也进行浮动:
ul {
padding:0;
margin:0;
list-style:none;
width:720px;
folat:left;
background:#66CCFF;
}
接着,设置块状效果,以块宽度,行高,链文本样式:
ul a{
display:block;
padding:0 1em;
line-height:1.5em;
color:#FFFFFF;
text-decoration:none;
}
再加一点就可以实现漂亮的翻转效果了:
ul a:hover{
background:#FFFFFF;
color:#000000;
}
到此,大多数浏览器材都能正确工作,但Mac IE5.2还不能正确显示,为避免这个问题,需要对锚进行浮动:
ul a{
display:block;
float:left; /*为了能在Mac上的IE5.2能正确工作,就要加上它*/
padding:0 1em;
line-height:1.5em;
color:#FFFFFF;
text-decoration:none;
}
#wrap{
margin:6em 20em;
}
#nav{
paddign:0;
margin:0;
width:500px;
font:bold;
float:left;
background:#CC9966 url(images/mainNavBg.gif) repeat-x;
list-style:none;
}
#nav li{
float:left;
}
#nav a{
display:bock;
float:left;
padding:0 2em;
line-height:1.5em;
color:white;
text-decoration:none;
}
#nav a:hover{
background:#33CCFF;
color:white;
}
......
<div id="wrap">
<ul id="nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>

浙公网安备 33010602011771号