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

CSS样式表
最窄770px最宽1024px的经典布局研究
CSS使用心得体会
用CSS实现链接的虚线下划线效果
快速制作CSS导航菜单教
给图片在博客中添加滤镜效果
DIV+CSS网页制作布局技巧学习
CSS书写顺序
WEB标准字体常规定义
XHTML标准的版本
同一个页面用多个id有什么影响
初学web标准的几个误区
解决URL中含有-与号-不符合标准问题
用CSS实现表单form布局
CSS关于相对定位和绝对定位的说明实例
DIV+CSS不一定符合标准
CSS滤镜参考
怎样才能使大网站规范
利用CSS,链接下划线也玩自定义
CSS实现光滑圆角效果
最基本的几种CSS文字滤镜效果

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 207 ::
收藏到网摘: 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>