🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
当网页上有若干的具有不同背景图的“小盒子”,按常规的做法就是,每个小盒子的背景图,都是一张独立的图片。 如果将这些小图片“整合”到一张图上(成为一张相对大的图片),则这些小盒子的背景图,都可以只用这一张大图,只要做背景的时候,进行适当的定位就可以了。 如下图所示: ![](https://img.kancloud.cn/f9/a7/f9a7d39ce6794087456719e15ce5185a_293x253.png) 假设网页上不同位置需要使用到上面大图中的各个小图,如下所示。此时这些小盒子的背景图都可以用上面一张大图(想想怎么做的?): ![](https://img.kancloud.cn/71/3b/713be8200870fa978ede77fd3e430020_652x151.png) 这样做的好处就是:该大图只要从服务器下载一次,则该网页的多个地方都可以使用了。这样的做法可以大大减少从服务器下载多个图片文件所需要的性能开销,也就是提升了服务器的效率。 这就是“css精灵技术”。 ``` <style> .news{ list-style: none; padding:0; } .news>li{ padding-left:50px; height: 54px; } .news>li>a{ line-height:54px; font-size:30px; padding-left:5px; } .news>li::before{ content: ""; display: inline-block; height: 54px; width:40px; vertical-align: middle; background-image:url(images/图片1.png); background-repeat: no-repeat; background-position: -134px -134px; } .news>li:nth-child(1)::before{ background-position: -139px -54px; } .news>li:nth-child(2)::before{ background-position: -73px -54px; } .news>li:nth-child(3)::before{ background-position: -67px -134px; } </style> </head> <body> <ul class="news"> <li><a href="">新闻标题0001</a></li> <li><a href="">新闻标题0002</a></li> <li><a href="">新闻标题0003</a></li> <li><a href="">新闻标题0004</a></li> <li><a href="">新闻标题0005</a></li> <li><a href="">新闻标题0006</a></li> </ul> </body> ```