melop 发表于 2004-12-23 22:31:30

不用一句script, 仅用css编写无限分级弹出菜单

一直以来,我们大多使用js来实现
弹出菜单,可是根据 w3c 的css标准,根本
就没有这个必要。只需要简单得使用css+html
就可以做出一个无限分级的弹出菜单。

没错,就是利用  Element:hover 这个伪类

注意,浏览这个例子,你必须使用标准浏览器,例如 Mozilla Firefox/ Opera 7.5
IE 不行!!


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>css menu</title>
     <style type="text/css">
     /*<![CDATA[*/
       ul.menu
       {
         width:180px;
         cursor:hand;
         list-style-type:none;
         border:1px solid #cccccc;
         padding:0px;
         margin:0px;

       }

       ul.menu li
       {
         width:100%;
         display:block;
        position:relative;
         
       }

       ul.menu li   a
       {

         background-color:#06829C;
         color:#ffffff;
         width:100%;
         display:block;
         font-size:9pt;
         padding:2px;
         padding-left:10px;
       }

       ul.menu li ul.menu
       {
          display:none;
          width:190px;
          position:absolute;
          z-index:1000;
          left:80%;
          top:-10px;
       }

       ul.menu li:hover > a
       {
         width:100%;
         background-color:#64ACF8;
         color:#ffffff;
       }

       ul.menu li:hover > ul.menu
       {
          display:block;
       }
     /*]]>*/
     </style>
</head>

<body>
     <ul class="menu">
          <li><a href="#">Item 1</a></li>

          <li>
               <a href="#">Menu Item &gt;</a>

               <ul class="menu">
                    <li><a href="#">item</a></li>

                    <li>
                         <a href="#">item &gt;</a>

                         <ul class="menu">
                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>
                         </ul>
                    </li>

                    <li>
                         <a href="#">item &gt;</a>

                         <ul class="menu">
                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>
                              
                              <li><a href="#">menu item</a></li>
                         </ul>
                    </li>

                    <li>
                         <a href="#">item &gt;</a>

                         <ul class="menu">
                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>

                              <li><a href="#">menu item</a></li>
                         </ul>
                    </li>
               </ul>
          </li>
     </ul>
</body>
</html>

cjhmie 发表于 2004-12-24 10:42:47

多谢指点。

melop 发表于 2004-12-25 19:34:43

呵呵,似乎大家都没有什么兴趣啊。

下载 Firefox 浏览器就可以看到效果了。或者你有 Netscape/Mozilla/Opera 都可以看到
效果的。个人感觉不错的啊。

天林 发表于 2004-12-25 19:42:04

试过
效果不错
可惜IE.....
什么时候IE才能走上正途呢

melop 发表于 2004-12-25 19:47:05

我已经放弃了IE 投入了 Firefox 的怀抱了,自从那以来,我觉得完全是耳目一新啊。

IE 的bug之多和不标准,已经让我无法忍受了。

大家都来用吧。

天林 发表于 2004-12-25 19:54:01

Firefox+插件就完美了,比IE好用
但目前的插件大多是E文的
有无D中文插件呢?

melop 发表于 2004-12-25 19:56:08

当然有!!

其中的WebDeveloper 简直是我们做网页人的福音啊!可以动态编辑css,立刻看到
效果。还有很多功能呢!

http://www.mozilla.net.cn/firefox/extensions/

[ 本帖由 melop 于 2004-12-25 19:58 最后编辑 ]

天林 发表于 2004-12-25 20:01:52

找到
http://www.mozilla.net.cn/firefox/extensions/

minady 发表于 2004-12-26 13:59:30

不错啊

dron 发表于 2004-12-26 16:11:26

虽然 IE 有很多 Bug ,但她的人气指数必竟还是最高的,FireFox 的拥护者在做网页的同时,仍是需要考虑 IE 是否支持的,否则,将丢失大部分的访客。

melop 发表于 2004-12-26 18:48:53

当然,IE还是要稍微顾及一下。起码基本的功能还要让他用起来。

IE的份额已经下降到了 88%,下跌8个百分点,想想看,Firefox 只推出了1个多月。

冰枫 发表于 2004-12-26 21:00:39

对IE不兼容,在中国来说。
就是一种死亡。

IE的份额已经下降到了 88%,下跌8个百分点,想想看,Firefox 只推出了1个多月。

那是相对于全球来说。
在中国,只有那些技术员,才使用着Firefox

dron 发表于 2004-12-27 10:31:09

人们已经习惯了使用IE,很少人会再去装 FireFox,你想想看,刚装完windows后,系统就已默认有了一个IE浏览器了,人们何必再去装一个FireFox呢?

纯粹理性 发表于 2004-12-28 15:03:46

firefox的启动速度着实让我大吃一惊,太慢了,连TT都比FF快,我倒,常用插件也没有带全,连flash都要自己去找插件,不用说虚拟机之类的了,这样发展对抢占普通用户市场是死门,这关不过,很难在普通用户那里立足。IE的系统集成性确实占 了很大优势,但还是有无数人用的是myie,TT之类的IE扩展,说明只要做的好,贴近用户了,还是会有很多人来用的。

瞧巧 发表于 2005-1-4 11:36:01

现在还有很多人在用IE,应该考虑到这部分的用户吧,再说若不是专业人员,恐怕很少有人再去装FF啊

dron 发表于 2005-1-6 03:17:20

使用 FireFox 发现了一个问题,原来Firefox 不支持 showModalDialog() 函数啊,这可是我最喜欢的函数了。

melop 发表于 2005-1-6 15:47:19

不支持的,可以看看msdn, 凡是标准的方法他都回说明的。

其实获取信息,完全可以用 window.open()代替的。

fason 发表于 2005-1-11 13:22:36

老早就看过了

cylex 发表于 2005-1-27 12:14:15

dron  在 2004-12-26 04:11 PM 发表:

虽然 IE 有很多 Bug ,但她的人气指数必竟还是最高的,FireFox 的拥护者在做网页的同时,仍是需要考虑 IE 是否支持的,否则,将丢失大部分的访客。

对啦,我赞成!

solo2046 发表于 2005-2-1 12:54:18

份额再怎么降也是它最大,首先应该考虑它。尊重现实很重要
页: [1] 2 3 4
查看完整版本: 不用一句script, 仅用css编写无限分级弹出菜单