闲来无事,琢磨着写了个下拉菜单,纯CSS的.最初灵感来自于Discuz头部导航中的"我的"下拉效果.大致分析了一下,实现原理很简单,鼠标未触发事件时定义一个样式只显示父级菜单,而隐藏掉其子级菜单.再定义一个样式,赋于鼠标触发事件时.只要弄了这个原理,用纯CSS写出这个效果就不难了.
花了半小时,比较顺畅的写下来的,非常简约的效果.使用时加以美化就可以了.兼容FF,IE6以上,其他浏览器未测试.
先看效果:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="网页教学网" />
<meat name="Author BlogURL" content="http://www.webjx.com/" />
<meta name="description" content="Templat" />
<title>简约下拉菜单-纯CSS+XHTML制作</title>
<style type="text/css">
<!--
* {
margin:0;
padding:0;
}
body {
font:12px Verdana, Geneva, sans-serif #444;
line-height:1.5;
}
ul li {
list-style:none;
}
.menu {
width:660px;
margin:20px auto;
}
.menu li {
display:inline;
float:left;
margin:0 5px;
background:#f2f2f2;
border:1px #39c solid;
text-align:center;
font-size:14px;
font-weight:700;
line-height:30px;
cursor:hand;
}
.tuckUp {
display:inline;
width:120px;
height:30px;
overflow:hidden;
background:#f2f2f2;
}
.pullDown{
display:inline;
height:auto;
}
.item a:link, .item a:visited {
display:inline;
float:left;
width:110px;
background:#ccc;
text-align:center;
color:#444;
font-size:12px;
font-weight:normal;
text-decoration:none;
line-height:25px;
margin:0 5px 5px 5px;
}
.item a:hover {
display:inline;
float:left;
background:#39c;
width:100px;
color:#FFF;
text-decoration:none;
text-align:center;
font-size:12px;
font-weight:700;
font-weight:normal;
line-height:25px;
padding:0 0 0 10px;
margin:0 5px 5px 5px;
}
//
-->
</style>
</head>
<body>
<ul class="menu">
<li class="tuckUp" onmousemove="this.className=‘pullDown‘" onmouseout="this.className=‘tuckUp‘">MenuOne
<div class="item"><a href="/">ITEM01</a></a><br />
<a href="/">ITEM02</a></a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br />
<a href="/">ITEM06</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pUllDown‘" onmouseout="this.className=‘tuckUp‘">MenuTwo
<div class="item"><a href="/">ITEM01</a><br />
<a href="/">ITEM02</a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pullDown‘" onmouseout="this.className=‘tuckUp‘">MenuThree
<div class="item" ><a href="/">ITEM01</a><br />
<a href="/">ITEM02</a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pUllDown‘" onmouseout="this.className=‘tuckUp‘">MenuFour
<div class="item"><a href="/">ITEM01</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pUllDown‘" onmouseout="this.className=‘tuckUp‘">MenuFive
<div class="item"><a href="/">ITEM01</a><br />
<a href="/">ITEM02</a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br /></div>
</li>
</ul>
</body>
</html>
样式部分:
margin:0;
padding:0;
}
body {
font:12px Verdana, Geneva, sans-serif #444;
line-height:1.5;
}
ul li {
list-style:none;
}
.menu {
width:660px;
margin:20px auto;
}
.menu li {
display:inline;
float:left;
margin:0 5px;
background:#f2f2f2;
border:1px #39c solid;
text-align:center;
font-size:14px;
font-weight:700;
line-height:30px;
cursor:hand;
}
.tuckUp {
display:inline;
width:120px;
height:30px;
overflow:hidden;
background:#f2f2f2;
}
.pullDown{
display:inline;
height:auto;
}
.item a:link, .item a:visited {
display:inline;
float:left;
width:110px;
background:#ccc;
text-align:center;
color:#444;
font-size:12px;
font-weight:normal;
text-decoration:none;
line-height:25px;
margin:0 5px 5px 5px;
}
.item a:hover {
display:inline;
float:left;
background:#39c;
width:100px;
color:#FFF;
text-decoration:none;
text-align:center;
font-size:12px;
font-weight:700;
font-weight:normal;
line-height:25px;
padding:0 0 0 10px;
margin:0 5px 5px 5px;
}
HTML部分:
<li class="tuckUp" onmousemove="this.className=‘pullDown‘" onmouseout="this.className=‘tuckUp‘">MenuOne
<div class="item"><a href="/">ITEM01</a></a><br />
<a href="/">ITEM02</a></a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br />
<a href="/">ITEM06</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pUllDown‘" onmouseout="this.className=‘tuckUp‘">MenuTwo
<div class="item"><a href="/">ITEM01</a><br />
<a href="/">ITEM02</a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pullDown‘" onmouseout="this.className=‘tuckUp‘">MenuThree
<div class="item" ><a href="/">ITEM01</a><br />
<a href="/">ITEM02</a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pUllDown‘" onmouseout="this.className=‘tuckUp‘">MenuFour
<div class="item"><a href="/">ITEM01</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br /></div>
</li>
<li class="tuckUp" onmouseover="this.className=‘pUllDown‘" onmouseout="this.className=‘tuckUp‘">MenuFive
<div class="item"><a href="/">ITEM01</a><br />
<a href="/">ITEM02</a><br />
<a href="/">ITEM03</a><br />
<a href="/">ITEM04</a><br />
<a href="/">ITEM05</a><br /></div>
</li>
</ul>
- 上一篇:用title显示JS代码
- 下一篇:html段落里的标签