CSS和JS一样深不可测,也许花十天时间就能学会,但如果想完全通透,或许要付出几百个十天.永远不要认为自己比别人聪明,自以为比别人懂的人其实什么都不懂.学无止尽,亘古不变.上下求索,孜孜不倦.自勉.
闲来无事,琢磨着写了个下拉菜单,纯CSS的.最初灵感来自于Discuz头部导航中的"我的"下拉效果.大致分析了一下,实现原理很简单,鼠标未触发事件时定义一个样式只显示父级菜单,而隐藏掉其子级菜单.再定义一个样式,赋于鼠标触发事件时.只要弄了这个原理,用纯CSS写出这个效果就不难了.
花了半小时,比较顺畅的写下来的,非常简约的效果.使用时加以美化就可以了.兼容FF,IE6以上,其他浏览器未测试.
先看效果:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
样式部分:
* {
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部分:
<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>
更多的CSS+XHTML制作的简单网页下拉菜单请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2008-12-26