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

CSS样式表
CSS优先级规则的细节
CSS失效,原来是和网页第一段代码有关
你真的了解CSS吗?你是属于哪个层次?
让样式表CSS代码更加专业规范
建议网页设计师用CSS制作网站导航菜单
简单学习css组合与CSS嵌套的写法
CSS学习之css代码的简写的十条规则
条件CSS的介绍
CSS教程:网页中多个样式表顺序问题
CSS教程:网页版面设计无效的10个原因
页面重构工程师应该具有的技能和素质
选择正确DOCTYPE解决CSS在网页失效问题
Opera中国的WEB标准课程
简单介绍Web Developer插件制作网页
CSS布局带来的巨大影响:CSS display属性值
用div css模拟表格对角线
IE Firefox在css中的差别 (部分)
不用js可以实现信息提示效果
CSS解决未知高度的垂直水平居中自适应问题
CSS cursor 属性 -- 鼠标指针样式效果

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


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