Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【CSS】CSS 精灵技术 Sprite ( 精灵技术需求 | CSS 精灵技术简介 | 代码示例 )

【CSS】CSS 精灵技术 Sprite ( 精灵技术需求 | CSS 精灵技术简介 | 代码示例 )

作者头像
韩曙亮
发布于 2023-04-24 03:22:00
发布于 2023-04-24 03:22:00
89200
代码可运行
举报
运行总次数:0
代码可运行

一、精灵技术需求

在浏览器中输入网址 , 向服务器发送请求显示某个网页 ,

服务器接受请求 , 将网页数据传递给浏览器 ;

用户访问网站时 , 网页中每张图片都要经过单独请求 , 服务器一次只能传递一张图片给用户浏览器 ,

如果网页图像很多 , 服务器与浏览器会频繁地进行请求和响应 , 这样极大的降低了网页的加载速度 ;

CSS 精灵技术 , 可以有效提高网页加载技术 ;

二、CSS 精灵技术


CSS 精灵技术 可以 将网页中的 背景图片 合成到一张 精灵图 中 , 网页元素 显示 精灵图 中的某个部位的小图 ;

建议使用 Firework 或者 Photoshop 精确测量精灵图的尺寸与其中小图片的元素位置 ;

CSS 精灵技术 的核心就是利用了 背景设置中的 background-position 样式 可以 精确定位要显示图片的位置 ;

  • 设置显示位置 : 设置背景图片显示位置 , 可以从指定 x , y 坐标位置开始显示 ,
  • 设置显示大小 : 同时也可以设置显示大小 , 为盒子设置背景图片 , 如果背景图片很大 , 超出盒子的部分不会显示 ;

下面是设置 CSS 精灵图片部分内容为背景的代码 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		.bg {
			width: 50px;
			height: 50px;
			background: url(bg_sprite.png) no-repeat -157px -107px;
			margin: 100px;
		}

指定的图片在精灵图片中的位置是 157, 107 坐标 , 要想将该位置移动到左上角 , 需要向左移动 157 像素 , 向上移动 107 像素 ;

因此 background-position 属性设置为 -157px, -107px 即可 ;

三、CSS 精灵技术代码示例


使用下面的图片作为精灵图片 ;

在网页中 , 显示 " 下载游戏 " 按钮 ;

将该 精灵图片 拖到 Fireworks 中 , 使用切片工具选中其中的 下载游戏 按钮 ,

  • 先使用切片工具

勾选出一个大概轮廓 ,

  • 然后使用 指针工具 或者 部分选定工具

, 在放大后的界面中微调 ;

最终得到 " 下载游戏 " 按钮的位置和大小 , 该按钮 位置在图片中的 0 , 219 坐标 , 该按钮大小 236 x 128 像素 ;

按钮的大小是 236 x 128 像素 , 因此这里为盒子模型也设置 236 x 128 像素尺寸 ;

按钮图片在精灵图片中的位置是 0, 219 像素 , 这是图片的左上角位置 ;

为盒子模型设置该精灵图片后 , 默认显示的位置是 0, 0 像素 , 也就是左上角的位置 ;

这里就需要将 0, 219 位置的按钮显示到 0, 0 位置 , 将图片向左移动 0 像素 , 向上移动 219 像素 , 即可达到上述要求 ;

为其设置 background-position 属性为 0 , -219 ;

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html> 
<html lang="en">
<head>    
	<meta charset="UTF-8" /> 
    <title>CSS 精灵技术</title>
	<style>
		.box {
			/* 按钮的宽高是 236 x 128 像素 */
			width: 236px;
			height: 128px;
			
			/* 按钮图片在精灵图片的 0, 219 位置 */
			background: url(images/css_sprite.png) no-repeat 0px -219px;
		}
	</style>
</head>
<body>
	<div class="box"></div>
</body>
</html>

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧?
今天学习css精灵图技术,并且通过用它拼接自己的英文名字,拿起小本本记好了哦!
全栈程序员站长
2022/09/01
6720
CSS background属性
background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项:
Devops海洋的渔夫
2019/06/02
1.4K0
【移动端网页布局】流式布局案例 ③ ( 实现搜索栏功能 | 伪元素选择器 | 子绝父相 | 外边距塌陷处理 | 二倍精灵图处理方案 )
在调试模式下 , 该父容器的尺寸为 390 x 44 像素 , 该父容器的高度是 44 像素 ;
韩曙亮
2023/05/03
2.1K0
【移动端网页布局】流式布局案例 ③ ( 实现搜索栏功能 | 伪元素选择器 | 子绝父相 | 外边距塌陷处理 | 二倍精灵图处理方案 )
CSS Sprites(精灵图)
当用户访问网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。然而一个网页中往往会有很多小背景图片作为修饰,当网页背景图像过多时,服务器就会频繁的接收发送请求,这会大大降低页面的加载速度,为了有效的减少服务器接收和发送请求的次数,提高页面的加载速度,就出现了css精灵技术 (CSS Sprites)
切图仔
2022/09/08
1K0
CSS Sprites(精灵图)
CSS精灵图(sprite)
说到精灵图(雪碧图),大家肯定和我一样觉得这个很新鲜。在学习了有关精灵图(雪碧图)的一些知识后,就来和大家讨论一下,我个人对精灵图(雪碧图)的一些理解和实现方法吧。
全栈程序员站长
2022/06/28
8590
CSS精灵图(sprite)
【CSS3】CSS3 动画 ⑥ ( 动画属性示例 | 精灵图帧动画效果实现 )
实现逻辑是 设置 元素的 animation-timing-function 动画属性 , 使用 steps(n) 属性值指定动画步长 ;
韩曙亮
2023/10/15
6470
【CSS3】CSS3 动画 ⑥ ( 动画属性示例 | 精灵图帧动画效果实现 )
前端学习笔记之CSS属性设置 CSS属性设置
一 字体属性 1、font-weight:文字粗细 取值 描述 normal 默认值,标准粗细 bord 粗体 border 更粗 lighter 更细 100~900 设置具体粗细,400等同于normal,而700等同于bold inherit 继承父元素字体的粗细值 2、font-style:文字风格 normal 正常,默认就是正常的 italic 倾斜  3、font-size:文字大小 fs:一般是12px或13px或14px 注意: 1、通过font-size设置文字大小一定要带单位
Jetpropelledsnake21
2019/02/15
6K0
前端学习(8)~css学习(二):背景属性
光学显示器中,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色的。r、g、b的值,每个值的取值范围0~255,一共256个值。
Vincent-yuan
2020/02/25
1.4K0
前端学习(8)~css学习(二):背景属性
【CSS】CSS 总结 ③ ( CSS 背景设置 | 背景颜色 | 背景图片 | 背景图片平铺样式 | 背景图片位置 | 超大背景图片设置 | 背景附着 | 背景样式简写 | 背景半透明 ) ★
CSS 的背景颜色样式语法 : 默认的背景颜色是 transparent 透明 ;
韩曙亮
2024/03/12
4.4K0
【CSS】CSS 总结 ③ ( CSS 背景设置 | 背景颜色 | 背景图片 | 背景图片平铺样式 | 背景图片位置 | 超大背景图片设置 | 背景附着 | 背景样式简写 | 背景半透明 ) ★
CSS笔记(16)
CSS布局总算是告一段落啦,现在开始学习一些CSS的高级技巧,能坚持到这里真不容易.
y191024
2022/09/20
6550
CSS笔记(16)
前端复习:CSS专题3
1 行高和字号 1.1 行高 CSS中,所有的行,都有行高。盒模型的padding,绝对不是直接作用在文字上的,而是作用在“行”上。 line-height: 40px; 文字,是在自己的行里面居
py3study
2020/01/13
8770
【CSS3】css开篇基础(5)
轻量级:一个图标字体比一系列的图像要小,一旦字体加载了,图标就会马上渲染出来,减少了服务器的请求
E绵绵
2024/10/27
1310
【CSS3】css开篇基础(5)
CSS精灵技术(sprite)
当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。
星辰_大海
2020/09/30
1.2K0
9.背景样式-CSS基础
一、背景样式 在CSS中,背景样式包括两个方面:背景颜色、背景图片。 在Web2.0 时代,对于元素的背景样式,我们都是使用CSS属性来实现。但在Web1.0时代,都是使用background或者 bgcolor这两个HTML属性(不是CSS属性)来为元素定义背景颜色或背景图片。 1.常用背景样式属性 属性 说明 background-color 定义背景颜色。 background-image 定义背景图片地址。 background-repeat 定义背景图片重复。 background-pos
见贤思齊
2020/10/29
1.1K0
9.背景样式-CSS基础
【CSS】盒子模型外边距 ③ ( 插入图片 | 插入图片位置移动 - 修改外边距 | 背景图片 | 背景图片移动位置 - 修改背景位置 background-position )
文章目录 一、插入图片 1、简介 2、代码示例 二、背景图片 1、简介 2、代码示例 一、插入图片 ---- 1、简介 插入图片 : 插入图片方式 : 在 HTML 中 , 使用 <img> 标签可以插入一张图片 ; 插入图片适用场景 : 显示 内容 , 按钮 , 一般都使用 插入图片 的方式 展示图片 , 设置插入图片大小 : 通过设置 盒子模型 内容尺寸 而设置图片大小 ; width 设置图片内容宽度 ; height 设置图片内容高度 ; 设置插入图片显示位置 : 通过设置 盒子模型
韩曙亮
2023/03/30
1.8K0
【CSS】盒子模型外边距 ③ ( 插入图片 | 插入图片位置移动 - 修改外边距 | 背景图片 | 背景图片移动位置 - 修改背景位置 background-position )
【移动端网页布局】流式布局案例 ④ ( Banner 栏制作 | 固定定位 | 标准流 | 百分比宽度设置 )
在上一篇博客中 , 实现了 搜索栏 , 在本篇博客开始实现 搜索栏 下方的 Banner 栏 ;
韩曙亮
2023/05/04
1.8K0
【移动端网页布局】流式布局案例 ④ ( Banner 栏制作 | 固定定位 | 标准流 | 百分比宽度设置 )
从零开始学 Web 之 CSS3(三)渐变,background属性
渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。可分为线性渐变、径向渐变。
Daotin
2018/08/31
1.9K0
从零开始学 Web 之 CSS3(三)渐变,background属性
《精通CSS》第5章 漂亮的盒子
前面我们了解过了盒模型,知道盒子由外边距、边框、内边距和内容区组成。对于整个盒子,我们可以通过一系列的手段来美化,如指定盒子的背景、边框以及盒子的阴影。
歪马
2020/04/07
1.9K0
《精通CSS》第5章 漂亮的盒子
【移动端网页布局】Flex 弹性布局案例 ③ ( 横向导航栏 | 固定定位下面的布局设置 | 设置横向导航栏弹性布局 | 弹性布局主轴和侧轴设置 | 二倍精灵图 )
在上一篇博客中实现的搜索栏 , 使用 固定定位 设置该搜索栏位置 , 不管网页如何滚动 , 最上方始终显示该搜索栏 ;
韩曙亮
2023/10/11
7150
【移动端网页布局】Flex 弹性布局案例 ③ ( 横向导航栏 | 固定定位下面的布局设置 | 设置横向导航栏弹性布局 | 弹性布局主轴和侧轴设置 | 二倍精灵图 )
CSS-02
复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签。
用户9615083
2022/12/25
2K0
CSS-02
推荐阅读
我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧?
6720
CSS background属性
1.4K0
【移动端网页布局】流式布局案例 ③ ( 实现搜索栏功能 | 伪元素选择器 | 子绝父相 | 外边距塌陷处理 | 二倍精灵图处理方案 )
2.1K0
CSS Sprites(精灵图)
1K0
CSS精灵图(sprite)
8590
【CSS3】CSS3 动画 ⑥ ( 动画属性示例 | 精灵图帧动画效果实现 )
6470
前端学习笔记之CSS属性设置 CSS属性设置
6K0
前端学习(8)~css学习(二):背景属性
1.4K0
【CSS】CSS 总结 ③ ( CSS 背景设置 | 背景颜色 | 背景图片 | 背景图片平铺样式 | 背景图片位置 | 超大背景图片设置 | 背景附着 | 背景样式简写 | 背景半透明 ) ★
4.4K0
CSS笔记(16)
6550
前端复习:CSS专题3
8770
【CSS3】css开篇基础(5)
1310
CSS精灵技术(sprite)
1.2K0
9.背景样式-CSS基础
1.1K0
【CSS】盒子模型外边距 ③ ( 插入图片 | 插入图片位置移动 - 修改外边距 | 背景图片 | 背景图片移动位置 - 修改背景位置 background-position )
1.8K0
【移动端网页布局】流式布局案例 ④ ( Banner 栏制作 | 固定定位 | 标准流 | 百分比宽度设置 )
1.8K0
从零开始学 Web 之 CSS3(三)渐变,background属性
1.9K0
《精通CSS》第5章 漂亮的盒子
1.9K0
【移动端网页布局】Flex 弹性布局案例 ③ ( 横向导航栏 | 固定定位下面的布局设置 | 设置横向导航栏弹性布局 | 弹性布局主轴和侧轴设置 | 二倍精灵图 )
7150
CSS-02
2K0
相关推荐
我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验