zoukankan      html  css  js  c++  java
  • 纯CSS制作二级导航

    一.问题描述

      做一个类似校园网首页,主要是导航栏的设置,ul默认纵向排列,如何横向排列,同时去掉圆点。

    二.问题解决

    2.1 先写导航条

      用两个ul嵌套,一个ul是横向导航条,另一个是每个小项目下连一个竖向的ul。

     1 <ul id="nav_ul">
     2             <li>
     3                 <a href="#">首页</a>
     4                 <ul class="nav_ul_ul">
     5                     <li>电信</li>
     6                     <li>联通</li>
     7                     <li>移动</li>
     8                 </ul>
     9             </li>
    10 </ul>

    2.2 html乱码

      原来没加charset,后来百度了需要加上gb2312,依然乱码,改成utf-8就ok了。

    1 <meta charset="UTF-8">

    2.3 去掉小圆点

    <style type="text/css">
                #navigator ul
                {
                    list-style:none;
                }
                        
    </style>

    2.4 ul横向排列

      left就是1234,right就是4321。不过我发现并没有这么简单。

    1 #navigator li
    2             {
    3                 float:left;
    4             }

     

      不过由于,div是用的id,二级ul也变成横向了。

       查了资料我感觉可以这样写,果然对了。

    1 #navigator ul li
    2             {
    3                 float:left;
    4             }
    5             #navigator ul li ul li
    6             {
    7                 float:none;

    三.细节处理

    3.1 鼠标滑过才弹出二级列表

      首先定义嵌套的ul不显示,当鼠标划过li的时候下面的ul显示出来。

      IE不显示效果,用搜狗可以。

    1 #navigator ul li ul
    2             {
    3                 display:none;
    4             }
    5             #navigator ul li:hover ul
    6             {
    7                 display:block;
    8             }

    3.2 二级ul未和一级对齐

      但是我们发现显示出来的二级栏目不是我们想要的位置,那么对它进行绝对定位,因为绝对定位的元素的位置相对于最近的已定位祖先元素。所以它外面的li设置一个相对定位。

     1 #navigator ul li
     2             {
     3                 float:left;
     4                 position:relative;
     5             }
     6             <!--hover 不是hovor -->
     7             #navigator ul li:hover ul
     8             {
     9                 display:block;
    10                 position:absolute;
    11                 left:0px;
    12                 top:21px;
    13             }

      但是二级里面的字体显示也变了,变成了,竖向。

     1 <html>
     2     <head>
     3         <meta charset="UTF-8">
     4         <title>首页
     5         </title>
     6         <!--别写成css/text -->
     7         <style type="text/css">
     8             #navigator ul
     9             {
    10                 list-style:none;
    11             }
    12             #navigator ul li ul
    13             {
    14                 display:none;
    15             }
    16             #navigator ul li
    17             {
    18                 float:left;
    19                 position:relative;
    20             }
    21             <!--hover 不是hovor -->
    22             #navigator ul li:hover ul
    23             {
    24                 display:block;
    25                 position:absolute;
    26                 left:0px;
    27                 top:21px;
    28             }
    29             #navigator ul li ul li
    30             {
    31             <!-- 消除父元素浮动影响-->
    32                 float:none;
    33             }
    34             .nav_ul_ul li
    35             {
    36             }
    37             #navigator 
    38             {
    39                 
    40             }
    41         </style>
    42     </head>
    43     <body>
    44     
    45     <div id = "navigator">
    46         <ul id="nav_ul">
    47             <li>
    48                 <a href="#">首页</a>
    49                 <ul class="nav_ul_ul">
    50                     <li>电信</li>
    51                     <li>联通</li>
    52                     <li>移动</li>
    53                 </ul>
    54             </li>
    55             <li>
    56                 <a href="#">电信</a>
    57                 <ul class="nav_ul_ul">
    58                     <li>优惠1</li>
    59                     <li>优惠2</li>
    60                     <li>优惠3</li>
    61                 </ul>
    62             </li>
    63             <li>
    64                 <a href="#">移动</a>
    65                 <ul class="nav_ul_ul">
    66                     <li>电信</li>
    67                     <li>联通</li>
    68                     <li>移动</li>
    69                 </ul>
    70             </li>
    71             <li>
    72                 <a href="#">联通</a>
    73                 <ul class="nav_ul_ul">
    74                     <li>电信</li>
    75                     <li>联通</li>
    76                     <li>移动</li>
    77                 </ul>
    78             </li>
    79         </ul>
    80     </div>
    81     
    82     
    83     
    84     </body>
    85 </html>

      先不管了,这有个比较精美的。

      下载地址http://download.csdn.net/detail/huoxingshiyilang/8678959

      特别说明:上面这个链接的资料是最下面的精美导航的代码,亲测兼容IE和谷歌。

  • 相关阅读:
    mybatis-3.x的错误
    iBatis2错误:com.ibatis.common.jdbc.exception.NestedSQLException:
    jdbc零散知识点
    valueOf与new的区别
    插入一条记录并获取自增的id
    存储过程的简单使用
    事务的隔离级别
    date类型的转换
    批量处理异常
    非确定的自动机NFA确定化为DFA
  • 原文地址:https://www.cnblogs.com/hxsyl/p/4489518.html
Copyright © 2011-2022 走看看