首页 > 其他分享 >雪碧图CSS Sprite

雪碧图CSS Sprite

时间:2022-10-20 20:33:32浏览次数:74  
标签:雪碧图 Sprite image background position CSS 页面


CSS Sprite也叫CSS精灵图,或者CSS雪碧图,是一种网页图片应用处理方式。

它允许你讲一个页面涉及到的所有的小图标(或其他图)包含到一张大图。


当前的问题

虽然每个小图标或者小图片实际的大小并不会太大,但是每次页面打开,都需要先向服务器发出去一个请求,多次请求会消耗很大的性能,也是页面加载速度变慢的原因之一。


这样做的优点

  • 减少图片字节数
  • 减少网页的http请求,从而大大的提高页面的性能



原理

  • 通过background-image 引入背景图片
  • 通过background-position 把背景图片移动到自己需要的位置


实操

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./flags/spirit-cli/spirit.png.css">
<title>Document</title>
<style>
/* 同一张背景图,通过属性background-image和background-position来显示不同位置的图片 */
.icon1,
.icon2 {
display: block;
overflow: hidden;
background-image: url(./flags/spirit-cli/spirit.png);
width: 40px;
height: 30px;
border: 2px solid lightgray;
}

.icon1 {
background-position: -80px 60px;
}

.icon2 {
background-position: 0px 30px;
}


</style>
</head>

<body>
<div class="container">
<!-- 通过background-position定位显示不同的图标 -->
<div>
<h3>这是第一个图标</h3>
<i class="icon1"></i>
<div style="height: 64px;"></div>
<h3>这是第二个图标</h3>
<i class="icon2"></i>
</div>

</div>


</body>

</html>

参考文献

[1] 如何使用命令在线一键生成雪碧图及CSS样式, ​​点击查看​

注意,图片格式最好调成png,命令运行也会帮转


[2] 如何批量修改图片宽高及格式。​​ 点击查看​

网上下载的flag可能尺寸格式都不统一,就可以用这个

标签:雪碧图,Sprite,image,background,position,CSS,页面
From: https://blog.51cto.com/u_15525868/5780526

相关文章

  • css 写 >箭头
    .area-input{position:relative;.at-input__container::after{content:"";height:18px;width:18px;top:36px......
  • CSS:img被hover的时候改变src图片路径
    mg的src可以通过content改变鼠标hover时的图片路径<imgclass="import_imgcreate"src="@/assets/add_icon.png"alt=""/>.titleButton:hover.create{content:u......
  • 前端开发日常——CSS动画无限轮播
    近来没有什么值得写的东西,空闲的时候帮前端的同学做了些大屏上的展示模块,就放在这里写写吧,手把手“需求->设计->实现”,受众偏新手向。为了直观便于理解,直......
  • selenium元素定位之css选择器和xpath
    CSS选择器(cssselector)作用:用于定位页面上的标签元素的,找到符合选择器的标签元素,然后应用样式。语句:dr.find_element_by_css_selector("CSS选择器")——根据CSS选择器......
  • HTML5和CSS3的新特性
    HTML5的新特性1.用于绘画的canvas元素;2.用于媒介回放的video和audio;3.本地离线存储;4.新标签:header,footer,nav,section,article5.新的表单控件:date,time,email,url,cale......
  • 2022-10-20 微信浏览器css定位异常
    如题,一个登录弹窗界面,在安卓手机(华为畅享z)、pc(window)上能点击输入框正确弹出输入框,而在一些iphone机型上则会出现定位异常问题,比如iphone6sp,点击输入框无法唤出手机输入框,......
  • 清除浮动-双伪元素清除浮动(HTML、CSS)
    清除浮动-双伪元素清除浮动(HTML、CSS)<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-......
  • CSS3 -3D转换-位移translate、旋转 rotate3d、透视 perspective、呈现transfrom-style
    CSS-3D转换-位移:translate、旋转:rotate3d、透视:perspective、呈现transfrom-style3D转换我们主要学习工作中最常用的3D位移和3D旋转3D位移:translate3d(x,y,z)3D......
  • 使用css 与 js 两种方式实现导航栏吸顶效果
    场景描述简单的说一下场景描述:这个页面有三个部分组成的.顶部的头部信息--导航栏--内容当页面滚动的时候。导航栏始终是固定在最顶部的。我们使用的第一种方案就是使用......
  • 使用CSS变量实现主题定制真的很简单
    本文为Varlet组件库源码主题阅读系列第六篇,Varlet支持自定义主题及暗黑模式,本篇文章我们来详细看一下这两者的实现。主题定制Varlet是通过css变量来组织样式的,什么是cs......