zoukankan      html  css  js  c++  java
  • CSS Sprite打造个性化导航

    最近在网上闲逛,然后发现了一个用css sprite技术打造的导航,颇为简便和易用。由于图片的切换没有用到任何js,所以显得干净整洁。具体想知道什么是css sprite技术的,可以到百度百科上去搜索这个关键字即可,下面先看效果:

    首先,是在正常模式下浏览:

    然后,是在鼠标悬停的时候浏览:

    最后,是在鼠标点击链接的时候浏览:

    可以看到 ,过渡的很自然。具体的素材如下:

    其实,刚才的鼠标悬停和点击链接的图片切换,就是通过位置控制取自bg2_btn.jpg,下面是具体实现方法:

    首先是html页面源代码:

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

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        
    <title>20个web2.0导航样式</title>
        
    <link href="mydemo.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
      
    <div>
        
    <img src="image/logo/logo2.jpg" alt="wenqi's blog" />
      
    </div>
      
    <!------- 导航2 ------->
      
    <div class="menu2">
        
    <div class="left2"></div>
        
    <div class="center2">
          
    <href="#">Blog</a>
          
    <href="#">Themes</a>
          
    <href="#">Service</a>
          
    <href="#">About</a>
          
    <href="#">Help</a>
          
    <del></del>
        
    </div>
        
    <div class="right2"></div>
        
    <div class="clear"></div>
      
    </div>
     
    </body>
    </html>

    其次就是css的代码:

    html
    {
        width
    :100%;
        height
    :100%;
    }
    body 
    {
        background-color
    :#fff;
        font-size
    :18px;
        font-family
    :"Arial","Tahoma","微软雅黑","雅黑";
        line-height
    :18px;
        padding
    :0px;
        margin
    :0px;
        text-align
    :center;
    }
    /* www.codefans.net */
    a
    {
        display
    :block;
        float
    :left;
    }
    del,div.clear
    {
        height
    :0px;
        font-size
    :0px;
        line-height
    :0px;
        padding
    :0px;
        margin
    :0px;
        display
    :block;
        clear
    :both;
        overflow
    :hidden;
    }
    div
    {
        width
    :550px;
        text-align
    :left;
        margin
    :auto auto auto auto;
    }
    .menu2
    {
        font-size
    :14px;
        line-height
    :14px;
        margin-bottom
    :24px;
    }
    .menu2 .left2
    {
        width
    :5px;
        height
    :47px;
        background
    :url("image/navigation/bg2_left.jpg") no-repeat left top;
        float
    :left;    
    }
    .menu2 .center2
    {
        width
    :540px;
        height
    :47px;
        background
    :url("image/navigation/bg2_center.jpg") repeat-x left top;
        float
    :left;
    }
    .menu2 .right2
    {
        width
    :5px;
        height
    :47px;
        background
    :url("image/navigation/bg2_right.jpg") no-repeat left top;
        float
    :left;
    }
    .menu2 a:link,.menu2 a:visited

    {
        color
    :#585858;
        width
    :77px;
        height
    :30px;
        padding-top
    :17px;
        background
    :url("image/navigation/bg2_btn.jpg") no-repeat left -94px;
        text-align
    :center;
        text-decoration
    :none;    
    }
    .menu2 a:hover
    {    
        color
    :#fff;
        background-position
    :left 0px;    
    }
    .menu2 a:active
    {
        color
    :#fff;
        background-position
    :left -47px;
    }

    其实 重头戏是在上面的这句代码下:

    .menu2 a:link,.menu2 a:visited

    {
        color
    :#585858;
        width
    :77px;
        height
    :30px;
        padding-top
    :17px;
        background
    :url("image/navigation/bg2_btn.jpg") no-repeat left -94px;
        text-align
    :center;
        text-decoration
    :none;    
    }

    利用了css sprite技术,将图片通过精确的切割,并且利用background-position来控制,就可以达到js的控制效果。

    希望本文章有用。谢谢。

  • 相关阅读:
    Java知识系统回顾整理01基础02面向对象03方法
    可插件化拓展改造器 slot-maven-plugin
    数据治理框架
    Java读写hdfs上的avro文件
    FTPClient的使用
    Java读写hdfs上的avro文件
    图片上传预览
    css hack 用法注意
    获取get请求后面的参数
    js全局变量污染
  • 原文地址:https://www.cnblogs.com/scy251147/p/1942983.html
Copyright © 2011-2022 走看看