美文网首页
CSS 图像拼合技术

CSS 图像拼合技术

作者: maskerII | 来源:发表于2019-05-10 23:03 被阅读0次


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS 图像拼合技术</title>
    <style>
        img.home{
            width: 46px;
            height: 44px;
            background: url("http://www.runoob.com/images/img_navsprites.gif") 0 0;
        }

        img.next{
            width: 43px;
            height: 44px;
            background: url("http://www.runoob.com/images/img_navsprites.gif") -91px 0;
        }

        #navilist{position: relative;}
        #navilist li{margin: 0;padding: 0;list-style:none;position: absolute;top: 0;}
        #navilist li, #navilist a{height: 44px;display: block;}

        #home{left: 0px;width: 46px;}
        #home{background: url("http://www.runoob.com/images/img_navsprites.gif") 0 0;}

        #pre{left: 63px;width: 43px;}
        #pre{background: url("http://www.runoob.com/images/img_navsprites.gif") -47px 0;}

        #next{left: 129px;width: 43px;}
        #next{background: url("http://www.runoob.com/images/img_navsprites.gif") -93px,0;}



        #navilist1{position: relative;}
        #navilist1 li{margin: 0;padding: 0;list-style: none;position: absolute;
            top: 0;}
        #navilist1 li,#navilist1 a{height: 44px;display: block;}

        #home1{left: 0px;width: 46px;}
        #home1{background: url("http://www.runoob.com/images/img_navsprites_hover.gif") 0 0;}
        #home1 a:hover{background: url("http://www.runoob.com/images/img_navsprites_hover.gif") 0 -45px;}

        #pre1{left: 63px; width: 43px;}
        #pre1{background: url("http://www.runoob.com/images/img_navsprites_hover.gif") -47px 0;}
        #pre1 a:hover{background: url("http://www.runoob.com/images/img_navsprites_hover.gif") -47px -45px;}

        #next1{left: 129px; width: 43px;}
        #next1{background: url("http://www.runoob.com/images/img_navsprites_hover.gif") -91px 0;}
        #next1 a:hover{background: url("http://www.runoob.com/images/img_navsprites_hover.gif") -91px -45px;}


    </style>
</head>
<body>
<h2>图像拼合 简单示例</h2>
<img class="home" src="http://www.runoob.com/images/img_trans.gif"> <br><br>
<img class="next" src="http://www.runoob.com/images/img_trans.gif">

<h2>图像拼合 创建一个导航列表</h2>
<ul id="navilist">
    <li id="home"><a href="CSS%20伪类.html" target="_blank"></a></li>
    <li id="pre"><a href="CSS%20对齐.html" target="_blank"></a></li>
    <li id="next"><a href="CSS%20伪元素.html" target="_blank"></a></li>
</ul>

<br><br><br>
<h2>图像拼合 悬停效果</h2>
<ul id="navilist1">
    <li id="home1"><a href="CSS%20伪元素.html"></a></li>
    <li id="pre1"><a href="CSS%20对齐.html"></a></li>
    <li id="next1"><a href="CSS%20伪类.html"></a></li>
</ul>

</body>
</html>

<!--

图像拼合
图像拼合就是单个图像的集合。

有许多图像的网页可能需要很长的时间来加载和生成多个服务器的请求。

使用图像拼合会降低服务器的请求数量,并节省带宽

-->



<!--

图像拼合 - 简单实例
与其使用三个独立的图像,不如我们使用这种单个图像("img_navsprites.gif"):

navigation images

有了CSS,我们可以只显示我们需要的图像的一部分。

在下面的例子CSS指定显示 "img_navsprites.gif" 的图像的一部分:

实例
img.home
{
width:46px;
height:44px;
background:url(img_navsprites.gif) 0 0;
}

尝试一下 »
实例解析:

<img class="home" src="img_trans.gif" /> -因为不能为空,src属性只定义了一个小的透明图像。
显示的图像将是我们在CSS中指定的背景图像
宽度:46px;高度:44px; - 定义我们使用的那部分图像
background:url(img_navsprites.gif) 0 0; - 定义背景图像和它的位置(左0px,顶部0px)
这是使用图像拼合最简单的方法,现在我们使用链接和悬停效果。


-->

<!--


图像拼合 - 创建一个导航列表
我们想使用拼合图像 ("img_navsprites.gif"),以创建一个导航列表。

我们将使用一个HTML列表,因为它可以链接,同时还支持背景图像:

实例
#navlist{position:relative;}
#navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;}
#navlist li, #navlist a{height:44px;display:block;}

#home{left:0px;width:46px;}
#home{background:url('img_navsprites.gif') 0 0;}

#prev{left:63px;width:43px;}
#prev{background:url('img_navsprites.gif') -47px 0;}

#next{left:129px;width:43px;}
#next{background:url('img_navsprites.gif') -91px 0;}

尝试一下 »
实例解析:

#navlist{position:relative;}
     - 位置设置相对定位,让里面的绝对定位
#navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;}
     - margin和padding设置为0,列表样式被删除,所有列表项是绝对定位
#navlist li, #navlist a{height:44px;display:block;}
     - 所有图像的高度是44px
现在开始每个具体部分的定位和样式:

#home{left:0px;width:46px;}
      - 定位到最左边的方式,以及图像的宽度是46px
#home{background:url(img_navsprites.gif) 0 0;}
      - 定义背景图像和它的位置(左0px,顶部0px)
#prev{left:63px;width:43px;}
      - 右侧定位63px(#home宽46px+项目之间的一些多余的空间),宽度为43px。
#prev{background:url('img_navsprites.gif') -47px 0;}
      - 定义背景图像右侧47px(#home宽46px+分隔线的1px)
#next{left:129px;width:43px;}
      - 右边定位129px(#prev 63px + #prev宽是43px + 剩余的空间), 宽度是43px.
#next{background:url('img_navsprites.gif') no-repeat -91px 0;}
      - 定义背景图像右边91px(#home 46px+1px的分割线+#prev宽43px+1px的分隔线)


-->


<!--

图像拼合s - 悬停效果
现在,我们希望我们的导航列表中添加一个悬停效果。

lamp    :hover 选择器用于鼠标悬停在元素上的显示的效果

提示: :hover 选择器可以运用于所有元素。
我们的新图像 ("img_navsprites_hover.gif") 包含三个导航图像和三幅图像:

navigation images

因为这是一个单一的图像,而不是6个单独的图像文件,当用户停留在图像上不会有延迟加载。

我们添加悬停效果只添加三行代码:

实例
#home a:hover{background: url('img_navsprites_hover.gif') 0 -45px;}
#prev a:hover{background: url('img_navsprites_hover.gif') -47px -45px;}
#next a:hover{background: url('img_navsprites_hover.gif') -91px -45px;}

尝试一下 »
实例解析:

由于该列表项包含一个链接,我们可以使用:hover伪类
#home a:hover{background: transparent url(img_navsprites_hover.gif) 0 -45px;}
       - 对于所有三个悬停图像,我们指定相同的背景位置,只是每个再向下45px


-->







相关文章

  • 图片精灵

    div css sprites精灵-CSS图像拼合 CSS贴图定位网页背景素材图片拼合定位布局技术教程篇与css ...

  • CSS 图像拼合技术

  • CSS Sprites (精灵图)

    一 什么是 CSS Sprites css sprites直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或...

  • CSS小技巧

    css精灵图 英文名:css sprites也可以叫做雪碧图、精灵图、css贴图定位、css图像拼合 原理和好处 ...

  • 雪碧图CSS Sprite的应用

    CSS雪碧,即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并...

  • 雪碧图、背景、元素透明

    css sprite(雪碧图|精灵图)指什么?有什么作用? css sprite 是一种CSS图像合并技术,该方法...

  • CSS常见技巧

    1.CSS Sprite(雪碧图|精灵图)指什么? 有什么作用 CSS Sprite 是一种 CSS 图像合并技术...

  • CSS常见技巧

    CSS Sprite(雪碧图|精灵图)指什么? 有什么作用? CSS Sprite是一种CSS图像合并技术,该方法...

  • 任务9-CSS常见技巧

    CSS Sprite(雪碧图|精灵图)指什么?有什么作用?是一种CSS图像合并技术,该方法是将小图标和背景图像合并...

  • Sprites图

    介绍 CSS雪碧 即CSS Sprites,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景...

网友评论

      本文标题:CSS 图像拼合技术

      本文链接:https://www.haomeiwen.com/subject/yfttaqtx.html