zoukankan      html  css  js  c++  java
  • 使用CSS样式为 ul列表增加样式值垂直导航

     下面我们讲一下如何利用CSS来控制ul的显示样式,是ul在垂直排列效果的基础上实现

      (1)为列表添加背景颜色;【使用DIV控制背景】

      (2)在每个列表项开头添加显示图片;

      如果对HTML的ul列表控件不是很熟悉的话,请参考我的另一篇文章《HTML学习笔记之列表控件 无序列表 ul(Unordered List) 、有序列表 ol(Ordered List) 、定义列表 dl(Definition List)》。

      实现这个效果总结了三种方式,下面依次介绍:

      

      先来一个无样式的ul列表:

      

    <div><h4>简单列表</h4>
        <ul>
            <li><a href="http://www.baidu.com/" target="_blank">HomePage</a></li>   
            <li><a href="http://www.baidu.com/" target="_blank">Div+CSS教程</a></li>   
            <li><a href="http://www.baidu.com/" target="_blank">CSS布局实例</a></li>   
            <li><a href="http://www.baidu.com/" target="_blank">CSS2.0教程 </a></li>   
            <li><a href="http://www.baidu.com/" target="_blank">CSS在线手册</a></li>   
            <li><a href="http://www.baidu.com/" target="_blank">Web标准</a></li>   
            <li><a href="http://www.baidu.com/" target="_blank">XHTML教程</a></li> 
        </ul>
    </div>

     

    image 

    接着我们看看CSS更改ul列表的代码:

    方式一:在li元素中使用List-Style-image控制属性增加图标

    /*
        =======================================================================================
        更改列表符号为图标的无序列表
        
        使列表符号图片和列表文字对齐
        =======================================================================================
        =======================================================================================
        方法一:使用list-style-image属性对齐
                
                注意: 需要vertical-align:bottom 的属性值配合使用
        =======================================================================================
    */
    #ImageNav1
    {
        
         background-color:#22C1EF;                      /* div背景色 */
        }
        
    #ImageNav1 ul
    {
        
        white-space: nowrap;                            /* 文本换行:强制一行显示 */
        }
        
    #ImageNav1 li{
                                                        /* margin 和 padding的顺序:上、右、下、左 */
        margin: 0px 0px 0px 30px;                       /* margin 左边框30像素*/
        padding:0px 0px 0px 5px;                        /* 上、右、下、左 */
        list-style-type:none;                           /* 无列表符号样式 */
        list-style-image:url('../img/17_48x48.png');    /* 列表项符号引用的图片 */
        border:solid 1px Black;                         /* 边缘样式 */
        }
        
    #ImageNav1 li a
    {
        
        line-height:48px;       /* 行间距:48px */
        vertical-align:bottom;  /* 使文本上下居中对其*/
        }

    效果:

    方式二:在li中使用img 和 a 元素结合模拟“方式一”效果

    /*
        =======================================================================================
        方法二:使用在li中使用img 和 a 元素结合模拟方法一的效果
                
                注意: 需要在 img元素 中设定vertical-align:middle属性
                           在 a元素   中设定vertical-align:middle属性是无效的
        =======================================================================================
    */
     
    #ImageNav2{
         
         background-color:#22C1EF;      /* div背景色 */
        }
    #ImageNav2 ul{
        
        white-space: nowrap;            /* 文本换行:强制一行显示 */
        }
    #ImageNav2 li{
                                        /* margin 和 padding的顺序:上、右、下、左 */
        margin: 0px 0px 0px 30px;       /* margin 左边框30像素*/
        padding:0px 0px 0px 5px;        /* 上、右、下、左 */
        list-style-type:none;           /* 无列表符号样式 */
        }
     
    #ImageNav2 li a{
        
        padding: 0px 0px 0px 5px;       /* 文字与图片的距离 */
        }
    #ImageNav2 li img{
        
        vertical-align:middle;          /* 是图片和文字居中对齐*/
        }

    效果:

    方式三:在li中使用background-image属性实现“方式一”效果

    /*
        =======================================================================================
        方法三:在li中使用background-image属性
                
                注意: li中的 line-height 和 background-position 属性
        =======================================================================================
    */
    #ImageNav3{
         
         background-color:#22C1EF;                      /* div背景色 */
        }
    #ImageNav3 ul{
        
        white-space: nowrap;                            /* 文本换行:强制一行显示 */
        }
    #ImageNav3 li{
                                                        /* margin 和 padding的顺序:上、右、下、左 */
        margin: 0px 0px 0px 30px;                       /* margin 左边框30像素*/
        padding:0px 0px 0px 5px;                        /* 上、右、下、左 */
        list-style-type:none;
        line-height:48px;                               /* 行间距 */
        text-indent:48px;                               /* 文字缩进48像素,避免与图表重叠 */
        background-image:url('../img/17_48x48.png');    /* 背景图片充当列表符号图像 */
        background-repeat:no-repeat;                    /* 背景样式不重复 */
        }

    效果:

      

     

    以上就是使用CSS来显示ul元素的简单方法,如果要调整 图片和文字之间距离请参考样式中 margin 和 padding 属性。

     

     

  • 相关阅读:
    Ansible运维自动化(配置管理工具)
    Haproxy 概述及搭建
    Hadoop 单机与完全分布式配置
    大数据与Hadoop
    Hadoop 高可用
    kafka原理和集群
    zookeeper原理及搭建
    个人记录点滴
    Java中导入Excel文件
    反射相关
  • 原文地址:https://www.cnblogs.com/bobbychencj/p/1865121.html
Copyright © 2011-2022 走看看