我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS Sprite从大图中截取小图的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS Sprite从大图中截取小图的方法

本文小编为大家详细介绍“CSS Sprite从大图中截取小图的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS Sprite从大图中截取小图的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

按钮是用来实现功能的,一般是用超链接响应单击事件,但是不能把背景图直接加在超链接上,那样就不叫样式啦,因为超链接的文本长度变化时,样式也变了。

地球人一般的做法是,div里边套一个超链接,超链接负责实现功能,div负责装载背景图。html结构如下:

复制代码

代码如下:

<div class="btn">
<a href="<a href="http://www.jb51.net">+1</a">http://www.jb51.net">+1</a</a>>
</div>

有了html骨架,接下来就要写css样式啦。

假如我们什么都不考虑,直接把整张图片设为背景,样式如下:

复制代码

代码如下:

.btn{
background:url(bg.png);
}

div是块级元素,默认是占一行的,这个先不用关心,但看到背景图重复了,这显然不是我们想要的,加上background-repeat:no-repeat;属性,改进样式如下:

复制代码

代码如下:

.btn{
background:url(bg.png);
background-repeat:no-repeat;
}

这样就不重复了。

div可以理解成一个矩形框,它的左上角是顶点,背景图片的顶点也是左上角,div加载背景图时,会把两个顶点重合,顶点的坐标是(0,0)。不理解的看图,很简单的。。。

CSS Sprite从大图中截取小图的方法

+1的小图片混杂在大图中,想提取出来,需要用background-position属性,这个属性相当于大图片不动,把div的顶点进行移动,移动到目标小图的顶点位置,如下图:

CSS Sprite从大图中截取小图的方法

这样一来,div中显示的就是小图了,但是,显示的还不仅仅是小图,而是图中阴影部分,怎么办呢?设置一下div的宽、高,让它和小图的宽、高一样就可以了呗!!

再来看看background-position属性,它有两个参数,分别是水平方向移动的像素、竖直方向移动的像素,都用负数表示。大图不动,div移动,也只能是向右、向下移动,只要记住这两个方向移动的像素都用负数表示就行了!

因此,只要找到小图相对于大图左上角顶点的水平移动像素、竖直移动像素就可以了。小菜也不用什么专业工具,用截图就很方便,从大图左上角顶点开始截,到小图顶点那停下来,一看像素就差不多了,然后再调试调试,基本就搞定。

在本例中,A小图的位移是:-25px -374px,A小图尺寸是:24px 16px。因此,css样式如下:

复制代码

代码如下:

.btn{
background:url(bg.png);
background-repeat:no-repeat;
background-position:-25px -374px;
height:16px;
width:24px;
}

这样就算是把小图抠出来啦!简单吧!!

先解释个问题,图片上有+1,而我又在超链上写了一个+1,这是因为很多时候文本内容不是写在图片上的,那样灵活性太差,文本就是文本,小菜为了给大家一个完整的演示,因此又写了一个+1,接下来就处理它!

先把+1居中,居中分为水平居中和垂直居中,水平居中超链接,需要在div上设置text-align:center;,这个属性是对子节点而言的;垂直居中div中的超链接,只需要把a标签的line-height属性设成和div的高度一样即可。样式如下:

复制代码

代码如下:

.btn{
background:url(bg.png);
background-repeat:no-repeat;
background-position:-25px -374px;
height:16px;
width:24px;
text-align:center;
}
.btn a{
line-height:16px;
}

接下来呢,还有问题,我们可以发现,只有当鼠标移到+1文本上时,鼠标才会变成手型,才能响应事件。

这显然不是我们想要的,应该是鼠标移入图片时,确切的说是鼠标移入div时,就可以变成手型,也能响应事件。

这也简单,只需要在a标签(超链接)上加display:block;属性即可。

另外这个下划线比较碍眼,用text-decoration:none;属性去掉,很常见,就不多说了。

样式如下:

复制代码

代码如下:

.btn{
background:url(bg.png);
background-repeat:no-repeat;
background-position:-25px -374px;
height:16px;
width:24px;
text-align:center;
}
.btn a{
line-height:16px;
display:block;
text-decoration:none;
}

接下来就剩最后一件事了,那就是鼠标移入的时候切换背景。

本例是div里边套a标签,鼠标移入换背景,当然是指鼠标移入div,而且换背景也是换div的背景,可不是a标签的哦!!

因此要在div标签上调用hover,div的样式是btn,因此写成.btn:hover{}。

换背景还需要找到背景图片,这又需要抠小图了,也就是抠上边指出的B图。

刚刚显示的是A小图,B小图和A小图在同一水平线上,因此竖直方向的移动像素是相同的,水平方向差不就是A小图的水平像素加上A小图的宽度。

经过测试,B小图的位移是:-50px -374px,尺寸大小就不用关心了,肯定和A小图一样,不一样就没法做了。

把B小图的定位background-position:-50px -374px;放在.btn:hover{}里即可。

样式如下:

复制代码

代码如下:

.btn{
background:url(bg.png);
background-repeat:no-repeat;
background-position:-25px -374px;
height:16px;
width:24px;
text-align:center;
}
.btn a{
line-height:16px;
display:block;
text-decoration:none;
}
.btn:hover{
background-position:-50px -374px;
}

读到这里,这篇“CSS Sprite从大图中截取小图的方法”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS Sprite从大图中截取小图的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

css从png里截取小图标的方法

这篇文章将为大家详细讲解有关css从png里截取小图标的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css从png里截取小图标的方法:首先使用background属性引入png图片,使用no-rep
2023-06-15

css中设置图片大小的方法

这篇文章主要介绍了css中设置图片大小的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在css中,可以使用width和height属性来设置图片大小;只需要给img图片元
2023-06-14

css设置背景图片大小的方法

小编给大家分享一下css设置背景图片大小的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在css中,可以使用background-size属性来设置背景图片的大小;语法格式为“background-size:lengt
2023-06-14

如何使用Stretchblt获取调整位图图像大小的方法

使用StretchBlt函数可以调整位图图像的大小。以下是使用StretchBlt函数的步骤:1. 创建源位图和目标位图的设备上下文句柄。```cppHDC hdcSrc = CreateCompatibleDC(NULL); // 创建源
2023-09-26

ps调整图片大小的方法

ps调整图片大小的方法:1、使用图像大小工具,在菜单栏中选择“图像”,然后选择“图像大小”,设置新的图片尺寸;2、使用自由变换工具,在工具栏中选择自由变换工具,在图片上点击右键,选择“缩放”选项,调整图片大小;3、使用画布大小工具,选择“图
2023-08-14

Win7系统中快速截图的方法介绍(图文)

Win7系统快速截图技巧。  1.“截图工具”真方便,轻松解决大问题  在微软公司最新推出的操作系统Windows 7 中为大家提供了一款名为“截图工具”的小软件,通过它就可以完成日常生活中的
2023-05-26

CSS获取图片主题色的方法

这篇文章给大家分享的是有关CSS获取图片主题色的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。背景起因是微信技术群里有个同学发问,有什么方法能够获取图片的主色呢?有一张图片,获取他的主色调:利用获取到的这个颜
2023-06-15

CSS实现图片放大缩小效果的技巧和方法

在网页设计中,添加图片元素是非常常见的操作。而为了提升用户体验,实现一些特殊效果是必不可少的。本文将介绍使用CSS来实现图片放大缩小效果的一些技巧和方法,并给出具体的代码示例。一、使用transform属性实现图片的缩放效果transfor
2023-10-21

ps导入图片到图层调整大小的方法

这篇文章主要介绍“ps导入图片到图层调整大小的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ps导入图片到图层调整大小的方法”文章能帮助大家解决问题。1、首先创建一个画布,“新建”一个图层。2、
2023-07-02

html中如何实现截取图片功能(两种方法)

随着互联网的不断发展,图片已经成为网页设计中不可缺少的重要元素之一。在HTML中,我们可以通过各种技巧来展示和截取图片,使网页更加美观和有吸引力。本文将介绍HTML的图片截取技术,以帮助读者更好地掌握这一技能。一、HTML图片基础知识在HTML中,我们常常使用<img>标签来展示图片。下面是一段HTML代码,展示了一张图片:```<img src="example.jpg" a
2023-05-14

css中input大小的设置方法

这篇文章主要介绍css中input大小的设置方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css的基本语法是什么css的基本语法是:1、css规则由选择器和一条或多条声明两个部分构成;2、选择器通常是需要改变样式
2023-06-14

怎么在css中设置背景图片的大小

怎么在css中设置背景图片的大小?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样
2023-06-14

sql中从大到小排序的方法

在 sql 中,可以使用 order by 子句从大到小排序,通过在列名后添加 desc 关键字实现,例如:order by salary desc。SQL 中从大到小排序的方法在 SQL 中,可以通过使用 ORDER BY 子句来对查询
sql中从大到小排序的方法
2024-05-10

Android中让图片自适应控件的大小的方法

这就需要把.png格式的图片转成.9.png格式,.9.png就是后缀名。在安装Android-SDK时自带了可以把.png格式的图片编辑后保存就变成了.9.png格式。这个文件存放在你所安装的Android
2022-06-06

gitee中图片大小怎么调整?方法详解

随着Gitee在国内代码托管市场中的快速崛起,很多同学在利用Gitee项目管理的过程中遭遇了各种问题。其中,如何在Gitee上调整图片大小是一个常见的问题。因此,在本文中,我们将为大家详细介绍如何在Gitee上进行图片大小的调整。首先,在G
2023-10-22

编程热搜

目录