春风博客

春天里,百花香...

导航

<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

公告

MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com

Locations of visitors to this page

常用链接

留言簿(11)

随笔分类(224)

随笔档案(126)

个人软件下载

我的其它博客

我的邻居们

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

使用无序列表实现纵向和横向菜单

无序列表UL在网页中除显示树状结构外,最常用的用途就是作为导航栏的菜单使用,而它的样式通过CSS来设定,这种把样式与数据分离的做法既能有丰富多彩的效果,又易于变换,值得好好研究一下。

无序列表的默认效果


无序列表的代码
<ul>
<li><href='#'>菜单001</a></li>
<li><href='#'>菜单002</a></li>
<li><href='#'>菜单003</a></li>
<li><href='#'>菜单004</a></li>
<li><href='#'>菜单005</a></li>
<li><href='#'>菜单006</a></li>
<li><href='#'>菜单007</a></li>
<li><href='#'>菜单008</a></li>
</ul>

竖向导航栏的实现效果


上边是竖向导航栏的效果,这在许多网站上很常见

取消无序列表的列表效果

如前页,如果不加设置,无序列表的li子项前会出现圆点效果,这对导航栏来说是需要取消的。
取消列表效果使用对ul进行列表样式设置就可以了,代码如下:
list-style-type:none;

无序列表菜单项的按钮效果实现

设置无序列表子项的背景,就能使无序列表子项出现方块效果。代码举例如下:
background:#efb57c;

使无序列表子项出现按钮的效果,对边框设置进行特殊设置即可,具体如下:
border:2px outset #efb57c;

无序列表菜单项的动态效果实现

实现动态效果,对ul中的链接状态进行设置即可,代码如右。

ul a:link{
background
:#efb57c;
border
:2px outset #efb57c;
}

ul a:visited
{
background
:#efb57c;
border
:2px outset #efb57c;
}

ul a:focus
{
background
:#daa670;
border
:2px outset #daa670;
color
:black;
}

ul a:hover
{
background
:#daa670;
border
:2px outset #daa670;
color
:black;
}

ul a:active
{
background
:#bb8e60;
border
:2px outset #bb8e60;
}

实现上述效果的全体代码
ul{
    margin
:0;
    padding
:0;
    list-style-type
:none;
}
 
ul a
{
    display
:block;
    padding
:2px;
    text-align
:center;
    text-decoration
:none;
    width
:130px;
    margin
:2px;
    color
:#8d4f10;
}

ul a:link
{
    background
:#efb57c;
    border
:2px outset #efb57c;
}

ul a:visited
{
    background
:#efb57c;
    border
:2px outset #efb57c;
}


ul a:focus
{
    background
:#daa670;
    border
:2px outset #daa670;
    color
:black;
}

ul a:hover
{
    background
:#daa670;
    border
:2px outset #daa670;
    color
:black;
}

ul a:active
{
    background
:#bb8e60;
    border
:2px outset #bb8e60;
}
 
li
{   
    padding-left
:10px;
}

横向菜单的实现效果

使用无序列表制作横向菜单也很常见,例图如下:


将无序列表默认的纵向改为横向

无序列表子项默认是纵向的,需要将它改为横向,要实现这里只要让子项li浮动起来即可,如同设置一行内放置多个div一样。代码如下:
#menubar li{
     float
:left;
}

其它颜色,背景设置等不再赘述。

横向菜单CSS设置代码

#menubar{
margin
:0px;
width
:100%;
text-align
:right;
}

#menubar ul
{
margin
:0;
padding
:0;
list-style-type
:none;
}

#menubar li
{
float
:left;
}

#menubar li a
{
    color
:#000000;
    text-decoration
:none;   
    padding-top
:4px;
    display
:block;
    width
:70px;
    height
:22px;
    text-align
:center;
    background-color
:#eefaec;
    margin-left
:2px;
}

#menubar li a:hover
{   
    color
:#b9ecae;
}

posted on 2008-03-23 11:34 sitinspring 阅读(3401) 评论(1)  编辑  收藏 所属分类: HTML,CSS&JS

评论

# re: 使用无序列表实现纵向和横向菜单 2009-04-20 23:32 大树萱萱

谢谢你教的知识.  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
sitinspring(http://www.blogjava.net)原创,转载请注明出处.