当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS+XHTML制作的简单网页下拉菜单

CSS样式表
CSS入门 XHTML文档结构树
IE6下 vertical-align:middle 和 height 引发的边框消失
详解CSS(层叠样式表)渐进增强
css vertical-align属性详细图解分析
CSS 垂直居中的5种实现方法
css 条件注释使用指南
CSS 样式表书写风格分析
CSS教程:条件注释的格式以及作用
探讨:网页外部引用CSS的两种方式
简化的CSS Reset:15套CSS重设实例
CSS技巧:IE6用import导入CSS的问题
编写适合所有项目的通用的reset.css
英文css教程:Introduction CSS
CSS学习之CSS网页制作的10个技巧
条件CSS的高级用法
纯语义化XHTML CSS设计表单方法
CSS 浏览器兼容问题整理大全(比较全)
import link的具体区别
菜单 stepdown 呈递下沉的解决方法
CSS3 box-sizing属性

CSS样式表 中的 CSS+XHTML制作的简单网页下拉菜单


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 205 ::
收藏到网摘: n/a

 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>