雪碧图是把各种小图标集合在一起的png图片,通过background-position来展示雪碧图中不同位置的小图标,比如以下图片,在项目中要用到的小图标很多,如果每一个图标都作为一个png或者jpg图片,这样会增加非常多的网络请求,所以把很多小图片组合在一起是一个很不错的选择。

在用background-position来展示雪碧图之前,需要能熟练运用background(背景)属性,这里先简单介绍一下background如何使用。

background有非常多的属性,可以设置背景颜色、背景图片,而图片又能选择是否重复,以及摆放在哪个位置。

最简单的就是使用background-color设置背景颜色了,可以设置预定义的颜色,如:pink/red/blue/black,可以设置16进制颜色,如#000000,还可以设置rgb颜色,如rbg(0,0,0),还可以在此基础上增加透明度 rgba(0, 0, 0, .5),需要注意的是,透明度仅作用于背景,不影响盒子的其它内容,演示如下

当背景需要通过复杂的图案来进行填充时,我们可以借助于背景图片,使用background-image通过url来定义背景图片,比如设置一个小女孩的头像为背景

可以发现,背景图在盒子内被平铺了,这就是背景的第三个属性,background-repeat 当不设置的时候,默认是重复(repeat),需要定义为不平铺时,设置no-repeat即可

我们发现背景图片默认会在盒子的左上角,如果想要调整背景图片的显示位置,比较常见的情况是,使用背景图片和文字配合显示,文字和背景图片都需要居中显示,那此时就需要用到 background-position,可以使用方位名词,x轴使用top/center/bottom,y轴使用left/center/right,也可以通过百分比/像素来对背景图片进行移动,如果只写了一个方向的移动方式,那么另一个就默认为center。

以上属性可以合并在一起写

background: 颜色 图片 是否重叠 位置
// 以上居中显示 background: #000 url(./girl.png) no-repeat center

雪碧图的展示就是通过像素来对图片进行移动,比如上面的雪碧图中,选取耳机这个小图标来进行展示,在photoshop里打开雪碧图,使用矩形工具框出需要展示的图片,此时会展示属性信息,将这些属性分别设置到css样式中

上面选取的戴着耳机的小图标的宽度为65px,高度为50px,x轴的偏移量为0px,y轴的偏移量为80px,要注意的是,x轴和y轴的偏移量在定位时要取负值,因为找到小图标的位置之后,相当于要将整个雪碧图往上往左移,使得小图标的位置正好在原点处

.icon {
width: 65px;
height: 50px;
background: url(./res/sprite.png) no-repeat 0px -80px;
}

这样就能指定展示想要的图标了

css使用背景灵活展示雪碧图的更多相关文章

  1. CSS基础(滑动门,雪碧图,网页布局)

    3.11.2017 这一篇主要是关于滑动门技术的学习,还有雪碧图(sprite),也就是精灵图,还有一点昨天的css可见性的回顾,下面先来回顾下吧 CSS可见性(元素可见性) overflow: hi ...

  2. css之background-position属性实现雪碧图

    什么是雪碧图 雪碧图就是CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,就是把多张小图标合并到一张图片上,然后用css的background-position来显示需要显示的部分 ...

  3. CSS 图像拼合技术(雪碧图)

    1.css 图像拼合 图像拼合就是单个图像的集合. 有许多图像的网页可能需要很长的时间来加载和生成多个服务器的请求. 使用图像拼合会降低服务器的请求数量,并节省带宽. 代码如下: <!docty ...

  4. 微信小程序之雪碧图(css script)

    今天有朋友问我关于微信小程序中如何在不占用大量网络带宽的情况下快速加载图片,我给他推荐了两种方式 1.雪碧图(css script),有过前端经验的朋友应该都有接触过. 2.懒加载. 由于时间关系我就 ...

  5. compass与css sprite(雪碧图)

    什么是css sprite? css sprite,中文叫雪碧图,也有人喊CSS精灵,就是一种背景拼合的技术,然后通过background-position来显示雪碧图中需要显示的图像. MDN相关链 ...

  6. V4.0到来了,css雪碧图生成工具4.0更新啦

    V3.0介绍 http://www.cnblogs.com/wang4517/p/4476758.html V4.0更新内容 V4.0下载地址:http://download.csdn.net/det ...

  7. webpack使用雪碧图插件

    1.先安装插件 npm install --save-dev webpack-spritesmith 2.配置webpack 配置之前 先引入var SpritesmithPlugin = requi ...

  8. CSS中的背景、雪碧图、超链接的伪类样式

    一.背景 1.背景颜色 background-color: red; 2.背景图片 background-image: url("../../img/l1.png"); 3.图片填 ...

  9. CSS入门(背景各种属性的详解、垂直居中和过渡效果的详解、渐变效果的简单讲解、雪碧图和精灵图)

    一.各种背景属性 1.background-image 属性为元素设置背景图像. 元素的背景占据了元素的全部尺寸,包括内边距和边框,但不包括外边距. 默认地,背景图像位于元素的左上角,并在水平和垂直方 ...

  10. css背景雪碧图等

    1.背景图 雪碧图技术 要设置背景,是要设置在某个盒子上 <!doctype html> <html lang="en"> <head> < ...

随机推荐

  1. [转] Windows下Hook DirectX

    首先说,这篇文章是很久以前为了玩成某游戏的HOOK找到的资料,虽然一直没用上,但是还是让我保留下来了.直接贴上了..看不懂也不要问我,我都没看. 也许看得懂的人对他们来说这是一个思路,不懂的就当垃圾文 ...

  2. 把ChatGPT调教成机器学习专家,以逻辑回归模型的学习为例

    大家好我是章北海mlpy 看到一个蛮有意思的项目,可以把ChatGPT调教成导师 https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor 可以根据你选择的学习 ...

  3. 2022-08-20:给定区间的范围[xi,yi],xi<=yi,且都是正整数, 找出一个坐标集合set,set中有若干个数字, set要和每个给定的区间,有交集。 求set的最少需要几个数。 比如给

    2022-08-20:给定区间的范围[xi,yi],xi<=yi,且都是正整数, 找出一个坐标集合set,set中有若干个数字, set要和每个给定的区间,有交集. 求set的最少需要几个数. ...

  4. 2021-03-21:给定一棵二叉树的头节点head,求以head为头的树中,最小深度是多少?

    2021-03-21:给定一棵二叉树的头节点head,求以head为头的树中,最小深度是多少? 福大大 答案2021-03-21: 1.递归. 2.莫里斯遍历. 代码用golang编写,代码如下: p ...

  5. .NET6项目连接数据库方式方法

    前言 接上一篇Linux系统下创建dotnet项目,这一篇我们聊聊.NET6环境下dotnet项目连接数据库的方式方法,包括数据库字符串该如何配置.看了很多博主写的文章,连接数据库字符串配置的方式和位 ...

  6. 去掉谷歌/新版Edge 浏览器的禁用扩展提示

    简介 你打开是谷歌/新版Edge浏览器的时候是不是总发现右上角有个提示?请禁用/停用以开发者模式运行的扩展程序?每次打开都有一个小框框,让人很烦? 接下来让我们使用 dll大法 来解决这个问题! 步骤 ...

  7. 7-2 Broken Pad (20 分)

    1.题目描述: The party began, the greasy uncle was playing cards, the fat otaku was eating, and the littl ...

  8. Linux(redhat)镜像

    作为一个合格的程序猿,Linux那就是必须得会玩哟呵,搜集了一些镜像分享大家,望笑纳. 云盘地址https://pan.baidu.com/s/1cB-llYI5RdRm9xJDmjFoWg 提取码 ...

  9. Hive执行计划之hive依赖及权限查询和常见使用场景

    目录 概述 1.explain dependency的查询与使用 2.借助explain dependency解决一些常见问题 2.1.识别看似等价的SQL代码实际上是不等价的: 2.2 通过expl ...

  10. Python正则表达式完全指南

    本篇文章将深入探讨python的一项强大工具:正则表达式.正则表达式是一个强大的文本处理工具,可以用来匹配,搜索,替换和解析文本.我们将逐步展示如何在Python中使用正则表达式,包括其基本语法,常见 ...