一般为了减少Http请求数,会把多张图片合并成一张图片,然后通过改变background-position属性值,来显示对应的图片,例如类别栏目html代码:
<div class="cat"> <ul > <li class="cat-1"> <i></i> <h3>服装内衣</h3> </li> <li class="cat-2"> <i></i> <h3>鞋包配饰</h3> </li> <li class="cat-3"> <i></i> <h3>运动户外</h3> </li> <li class="cat-4"> <i></i> <h3>珠宝手表</h3> </li> <li class="cat-5"> <i></i> <h3>手机数码</h3> </li> <li class="cat-6"> <i></i> <h3>家电办公</h3> </li> <li class="cat-7"> <i></i> <h3>护肤彩妆</h3> </li> <li class="cat-8"> <i></i> <h3>母婴用品</h3> </li> <li class="cat-9"> <i></i> <h3>母婴用品</h3> </li> </ul> </div>
对应的css
blockquote, body, button, dd, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, hr, input, legend, li, ol, p, pre, td, textarea, th, ul{ margin: 0; padding: 0; } h3 { display: block; margin: 0; padding: 0; } .cat { position: relative; width: 150px; background: #f8f8f8; border: 1px solid #bbb; } ol, ul { list-style: none; } li { z-index: 2; position: relative; display: block; height: 31px; line-height: 31px; overflow: hidden; margin: 1px 10px 0; vertical-align: bottom; border-bottom: 1px solid #dedede } li h3 { font-size: 14px; font-weight: 400; } li i { background:url(http://img.mukewang.com/539a950e00015ba500710200.jpg); display: inline; float: left; margin: 3px 10px 0 0; height: 24px; width: 30px } /* 在这里补充雪碧图的样式 */ .cat-1 i{background-position: 0 0;} .cat-2 i{ background-position:0 -24px;} .cat-3 i{ background-position:0 -48px;} .cat-4 i{ background-position:0 -72px;} .cat-5 i{ background-position:0 -96px;} .cat-6 i{ background-position:0 -120px;} .cat-7 i{ background-position:0 -144px;} .cat-8 i{ background-position:0 -168px;} .cat-9 i{ background-position:-40px 0;}
运行后的效果为:
常用的制作Css Sprite 的工具有 : cssgaga
http://www.99css.com/cssgaga/