zoukankan      html  css  js  c++  java
  • 兼容性好-导航

      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
      3 
      4     <head>
      5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      6         <title>CSS+JS实现兼容性很好的无限级下拉菜单</title>
      7         <style type="text/css">
      8             * {
      9                 margin: 0;
     10                 padding: 0;
     11                 border: 0;
     12             }
     13             
     14             body {
     15                 font: 12px/130% verdana, geneva, arial, helvetica, sans-serif, 宋体;
     16             }
     17             
     18             li {
     19                 list-style: none;
     20             }
     21             
     22             .clearfix:after {
     23                 content: " ";
     24                 display: block;
     25                 height: 0;
     26                 clear: both;
     27                 visibility: hidden;
     28             }
     29             
     30             .clearfix {
     31                 display: inline-block;
     32             }
     33             
     34             a:link {
     35                 color: #000;
     36                 text-decoration: none;
     37             }
     38             
     39             a:visited {
     40                 color: #000;
     41                 text-decoration: none;
     42             }
     43             
     44             a:hover {
     45                 color: #000;
     46                 text-decoration: none;
     47             }
     48             
     49             .menu {
     50                  778px;
     51                 height: 26px;
     52                 background: #fff;
     53                 margin: 0 auto;
     54             }
     55             
     56             .menusel {
     57                 float: left;
     58                  100px;
     59                 position: relative;
     60                 height: 25px;
     61                 background: #ddd;
     62                 line-height: 25px;
     63                 margin-left: 1px;
     64                 *margin-left: 0px;
     65                 _margin-left: -1px;
     66             }
     67             
     68             .menusel h2 {
     69                 font-size: 12px;
     70             }
     71             
     72             .menusel a {
     73                 display: block;
     74                 text-align: center;
     75                  100px;
     76                 border: 1px solid #a4a4a4;
     77                 height: 25px;
     78                 border-bottom: 1px solid #a4a4a4;
     79                 position: relative;
     80                 z-index: 2;
     81             }
     82             
     83             .menusel a:hover {
     84                 border: 1px solid #a4a4a4;
     85                 border-bottom: 1px dashed #eeeeee;
     86                 position: relative;
     87                 z-index: 2;
     88                 height: 25px;
     89             }
     90             
     91             .ahover a {
     92                 border-bottom: 1px dashed #eeeeee;
     93                 background: #eeeeee;
     94             }
     95             
     96             .position {
     97                 position: absolute;
     98                 z-index: 1;
     99             }
    100             
    101             .menusel ul {
    102                  125px;
    103                 background: #eee;
    104                 border: 1px solid #a4a4a4;
    105                 margin-top: -1px;
    106                 position: relative;
    107                 z-index: 1;
    108                 display: none;
    109             }
    110             
    111             .menusel .block {
    112                 display: block;
    113             }
    114             
    115             .typeul li {
    116                 border-bottom: 1px dashed #a4a4a4;
    117                  125px;
    118                 position: relative;
    119                 float: left;
    120             }
    121             
    122             .typeul li a {
    123                 border: none;
    124                  125px;
    125             }
    126             
    127             .typeul li a:hover {
    128                 border: none;
    129                 background: #ddd;
    130             }
    131             
    132             .typeul {
    133                 margin-left: 0;
    134             }
    135             
    136             .typeul ul {
    137                 left: 125px;
    138                 top: 0;
    139                 position: absolute;
    140             }
    141             
    142             .fli {
    143                 margin-left: -1px;
    144                 border-left: #eeeeee solid 1px;
    145             }
    146             
    147             .menusel .lli {
    148                 border: none;
    149             }
    150         </style>
    151         <script type="text/javascript">
    152             document.execCommand("BackgroundImageCache", false, true);
    153         </script>
    154         <!-- IE6背景图片闪烁问题  -->
    155     </head>
    156 
    157     <body>
    158         <div class="menu">
    159             <div id="menu1" class="menusel">
    160                 <h2><a href="/">菜单1</a></h2>
    161                 <div class="position">
    162                     <ul class="clearfix typeul">
    163                         <li>
    164                             <a href="http://www.jb51.net">菜单选项1-2</a>
    165                         </li>
    166                         <li>
    167                             <a href="#">菜单选项1-2</a>
    168                             <ul>
    169                                 <li class="fli">
    170                                     <a href="#">菜单选项1-2-1</a>
    171                                 </li>
    172                                 <li class="lli">
    173                                     <a href="#">菜单选项1-2-2</a>
    174                                 </li>
    175                             </ul>
    176                         </li>
    177                         <li>
    178                             <a href="http://www.jb51.net">菜单选项1-2</a>
    179                         </li>
    180                         <li class="lli">
    181                             <a href="#">菜单选项1-2</a>
    182                         </li>
    183                     </ul>
    184                 </div>
    185                 <!-- position -->
    186             </div>
    187             <!-- menusel -->
    188             <div id="menu2" class="menusel">
    189                 <h2><a href="#">菜单2</a></h2>
    190                 <div class="position">
    191                     <ul class="clearfix typeul">
    192                         <li>
    193                             <a href="#">菜单选项2-2</a>
    194                         </li>
    195                         <li>
    196                             <a href="#">菜单选项2-2</a>
    197                             <ul>
    198                                 <li class="fli">
    199                                     <a href="#">菜单选项2-2-1</a>
    200                                 </li>
    201                                 <li class="lli">
    202                                     <a href="#">菜单选项2-2-2</a>
    203                                     <ul>
    204                                         <li class="fli">
    205                                             <a href="#">菜单选项2-2-1</a>
    206                                         </li>
    207                                         <li class="lli">
    208                                             <a href="#">菜单选项2-2-2</a>
    209                                         </li>
    210                                     </ul>
    211                                 </li>
    212                             </ul>
    213                         </li>
    214                         <li>
    215                             <a href="#">菜单选项2-2</a>
    216                         </li>
    217                         <li class="lli">
    218                             <a href="#">菜单选项2-2</a>
    219                         </li>
    220                     </ul>
    221                 </div>
    222                 <!-- position -->
    223             </div>
    224             <!-- menusel -->
    225             <div id="menu3" class="menusel">
    226                 <h2><a href="#">菜单3</a></h2>
    227                 <div class="position">
    228                     <ul class="clearfix typeul">
    229                         <li>
    230                             <a href="#">菜单选项3-2</a>
    231                         </li>
    232                         <li>
    233                             <a href="#">菜单选项3-2</a>
    234                             <ul>
    235                                 <li class="fli">
    236                                     <a href="#">菜单选项3-2-1</a>
    237                                 </li>
    238                                 <li class="lli">
    239                                     <a href="#">菜单选项3-2-2</a>
    240                                     <ul>
    241                                         <li class="fli">
    242                                             <a href="#">菜单选项3-2-1</a>
    243                                         </li>
    244                                         <li class="lli">
    245                                             <a href="#">菜单选项3-2-2</a>
    246                                             <ul>
    247                                                 <li class="fli">
    248                                                     <a href="#">菜单选项3-2-1</a>
    249                                                 </li>
    250                                                 <li class="lli">
    251                                                     <a href="#">菜单选项3-2-2</a>
    252                                                 </li>
    253                                             </ul>
    254                                         </li>
    255                                     </ul>
    256                                 </li>
    257                             </ul>
    258                         </li>
    259                         <li>
    260                             <a href="#">菜单选项3-2</a>
    261                         </li>
    262                         <li class="lli">
    263                             <a href="#">菜单选项3-2</a>
    264                         </li>
    265                     </ul>
    266                 </div>
    267                 <!-- position -->
    268             </div>
    269             <!-- menusel -->
    270         </div>
    271         <!-- menu -->
    272         <script type="text/javascript">
    273             for(var x = 1; x < 4; x++) {
    274                 var menuid = document.getElementById("menu" + x);
    275                 menuid.num = x;
    276                 type();
    277             }
    278 
    279             function type() {
    280                 var menuh2 = menuid.getElementsByTagName("h2");
    281                 var menuul = menuid.getElementsByTagName("ul");
    282                 var menuli = menuul[0].getElementsByTagName("li");
    283                 menuh2[0].onmouseover = show;
    284                 menuh2[0].onmouseout = unshow;
    285                 menuul[0].onmouseover = show;
    286                 menuul[0].onmouseout = unshow;
    287 
    288                 function show() {
    289                     menuul[0].className = "clearfix typeul block"
    290                 }
    291 
    292                 function unshow() {
    293                     menuul[0].className = "typeul"
    294                 }
    295                 for(var i = 0; i < menuli.length; i++) {
    296                     menuli[i].num = i;
    297                     var liul = menuli[i].getElementsByTagName("ul")[0];
    298                     if(liul) {
    299                         typeshow()
    300                     }
    301                 }
    302 
    303                 function typeshow() {
    304                     menuli[i].onmouseover = showul;
    305                     menuli[i].onmouseout = unshowul;
    306                 }
    307 
    308                 function showul() {
    309                     menuli[this.num].getElementsByTagName("ul")[0].className = "block";
    310                 }
    311 
    312                 function unshowul() {
    313                     menuli[this.num].getElementsByTagName("ul")[0].className = "";
    314                 }
    315             }
    316         </script>
    317     </body>
    318 
    319 </html>

    效果:

  • 相关阅读:
    fcc的高级算法题
    jq on方法绑定多个事件
    高效的jQuery代码编写技巧
    HTML 提高页面加载速度的方法
    link 和 import 导入外部样式的区别
    js将多个方法添加到window对象上的多种方法
    js 数组删去重复的加上没有的元素
    JS中定义对象原型的两种使用方法
    CSS 清除默认样式
    JavaScript中定义对象的四种方式 2012-5-10 15:19 阅读(0)
  • 原文地址:https://www.cnblogs.com/panda-ling/p/6699927.html
Copyright © 2011-2022 走看看