iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >css sprites如何将多个背景集成到一个png图片上css定位
  • 255
分享到

css sprites如何将多个背景集成到一个png图片上css定位

2023-06-08 03:06:19 255人浏览 泡泡鱼
摘要

这篇文章主要讲解了“CSS sprites如何将多个背景集成到一个png图片上css定位”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css sprites如何将多个背景集成到一个png图片

这篇文章主要讲解了“CSS sprites如何将多个背景集成到一个png图片上css定位”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css sprites如何将多个背景集成到一个png图片上css定位”吧!



实现方法
首先将小图片整合到一张大的图片上,然后根据具体图标在大图上的位置,给背景定位。background-position:-8px -95px;
浅谈CSS Sprites技术以及图片优化〔背景图整合〕
关于CSS Sprites技术的优化我们能做到多少,能减多少的请求数量。这并且不是单方面能做到的,一切取决于Xhtml、CSS、CSS Sprites图片之间的配合。现时为止没有绝对优化的做法,这也是我在项目中经常衡量CSS Sprites图片与XHTML关系,如:《一张背景实现自适应九宫格》,以下总结了图片切割术与图象优化的一些方法。

图片优化
一、对于非动画的GIF更建议使用PNG8因为它同样能做到一样的效果,而且能为你节省10%-30%的文件体积。
二、Photoshop相比起Fireworks,导出同等质量的PNG图片,体积会稍大。而Fireworks虽然做了相应压缩优化,但没有达到最优秀的压缩。
三、我所知的设计软件,对于PNG图片的处理都没做到最优秀的压缩,图片体积还有一定的压缩空间。可以尝试使用下面介绍的”图像优化工具” 做无失真的压缩优化。
四、图片体积及尺寸方面,建议体积保持在100K以内(较为符合国情最佳请求SIZE),size为800px(最佳尺寸)。(从某权威人事中得知,具体无从考证)

CSS Sprites图片切割术
一、CSS Sprites图片顺序合图片由上至下、左至右添加。而background-position一般采用数字组合形式定位,这样能减少维护带来的不必要麻烦。
二、不建议CSS Sprites图片中保持一定的间距,因为文件size增大而增加文件体积。
三、CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。
四、size相同的CSS Sprites图片中留有较大空隙,某程度上多数情况会增大了体积,所以CSS Sprites的图片不要有空隙。
五、在size相同的CSS Sprites图片中,垂直排列的图片会比水平排列的文件体积要大。
六、在CSS Sprites图片中,水平排列的图片会比垂直排列的文件体积要大。
七、图片对等合并:应用CSS Sprites图片时,适当地把对等相同的图像合并,以节省空间及减少体积。
八、区分开不需要合并的图像:如当前用户确定只显示一种状态或一个级别时,不必要把其他的级别或状态的图片合并。
九、黄金切割位:在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon,因此不会受到其它CSS Sprites图片干预,也不需要预留一定的行宽。

相关的图像优化工具,网上流传的优化工具繁多常见的如:
ImageMagick、PNGGauntlet、pnGCrush、pngrewrite、Optipng、PNGout等。
众所周知,减少网站加载时间的最有效的方式之一就是减少网站的Http请求数。实现这一目标的一个有效的方法就是通过CSSSprites——将多个图片整合到一个图片中,然后再用CSS来定位。
CSS Sprites 的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。
css sprites如何将多个背景集成到一个png图片上css定位
实现方法
首先将小图片整合到一张大的图片上,为了简单化,可以把多图放在同一列上,这样就可以把x轴定义为0。
然后根据具体图标在大图上的位置,给背景定位。background-position:-8px -95px;
例子:
我们使用上图中的auther.gif作为背景时,如果代码如下:

代码如下:


<divclass="max">最大化</div>


这两个class都使用同一个图片:

代码如下:


.max {
width:16px;
height:16px;
background-image:url(/images/css-sprites.gif);
background-repeat: no-repeat; //我们并不想让它平铺
text-indent:-999em; //隐藏文本的一种方法
}


效果都只能得到上图中的tag_icon.gif中的图为背景,根本无法得到我们需要的背景。因为我们还没有指定background-position,默认为00,可以看下上图,刚好是tag_icon.gif图。好了,我们要找到代表auther.gif的图在大图中的位置找出来。经过测量,按钮位于Y轴的350px处,按钮位于x轴50px处。想一想我们如何才能让它们能够显示出来呢?明显得到代码如下:

代码如下:


.max {
background-position: 50 -350px;
}


耶,我们成功了:
(注意:为了举例的方便,本例子直接在HTML内置样式,切勿在实践中的非特殊情况使用这种方式)。

优点
我们从前面了解到,CSSSprites为什么突然跑火,跟能够提升网站性能有关。显而易见,这是它的巨大优点之一。普通制作方式下的大量图片,现在合并成一个图片,大大减少了HTTP的连接数。HTTP连接数对网站的加载性能有重要影响。

缺点
至于可维护性,这是一般双刃剑。可能有人喜欢,有人不喜欢,因为每次的图片改动都得往这个图片删除或添加内容,显得稍微繁琐。而且算图片的位置(尤其是这种上千px的图)也是一件颇为不爽的事情。当然,在性能的口号下,这些都是可以克服的。

由于图片的位置需要固定为某个绝对数值,这就失去了诸如center之类的灵活性。
前面我们也提到了,必须限制盒子的大小才能使用CSSSprites,否则可能会出现出现干扰图片的情况。这就是说,在一些需要非单向的平铺背景和需要网页缩放的情况下,CSSSprites并不合适。YUI的解决方式是,加大图片之间的距离,这样可以保持有限度的缩放。

总结
性能压倒一切。CSSSprites是值得推广的一种技术。尤其适宜用于FIR,比如固定大小的icon替换。为保持兼容性,图片中的各个部分保持一定的距离是一种不错的做法。

感谢各位的阅读,以上就是“css sprites如何将多个背景集成到一个png图片上css定位”的内容了,经过本文的学习后,相信大家对css sprites如何将多个背景集成到一个png图片上css定位这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: css sprites如何将多个背景集成到一个png图片上css定位

本文链接: https://www.lsjlt.com/news/251549.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • css sprites如何将多个背景集成到一个png图片上css定位
    这篇文章主要讲解了“css sprites如何将多个背景集成到一个png图片上css定位”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css sprites如何将多个背景集成到一个png图片...
    99+
    2023-06-08
  • css如何将容器级别标签固定在一个位置
    这篇文章给大家分享的是有关css如何将容器级别标签固定在一个位置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下所示:.process{    ...
    99+
    2024-04-02
  • 如何使用 Go 将背景图像添加到 X11/Wayland 的多个屏幕?
    php小编香蕉将为您介绍如何使用Go语言将背景图像添加到X11/Wayland的多个屏幕。在多屏幕环境下,为每个屏幕设置不同的背景图像可以提升用户体验。本文将详细讲解Go语言中如何使用...
    99+
    2024-02-13
    go语言
  • 计算机中如何将把多张图片做成一个文档
    这篇文章将为大家详细讲解有关计算机中如何将把多张图片做成一个文档,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。制作方法:首先打开软件,选择页面顶部的“将多个文件合并为pdf”;然后点击页面顶部的“添加文件...
    99+
    2023-06-15
  • 如何使用HTML和CSS创建一个响应式图片集锦布局
    在现代网页设计中,响应式布局是至关重要的。随着不同尺寸和设备的使用,网页需要能够自适应地调整布局和元素的大小。在这篇文章中,我们将学习如何使用HTML和CSS来创建一个响应式的图片集锦布局。HTML结构首先,我们需要定义HTML结构。假设我...
    99+
    2023-10-21
    CSS html 响应式布局
  • 如何使用HTML和CSS创建一个响应式图片集锦展示布局
    在网页设计中,展示图片集锦是一种常见的需求。为了提供更好的用户体验,我们希望这些图片在不同设备上都能以适当的方式展示,而不仅仅是简单地缩放。这就需要设计一个响应式的图片集锦展示布局。在本文中,我们将介绍如何使用HTML和CSS来创建这样一个...
    99+
    2023-10-21
    响应式 CSS html
  • CSS中点击radio如何实现两个图片样式切换并且多个radio中只能有一个checked
    这篇文章主要介绍CSS中点击radio如何实现两个图片样式切换并且多个radio中只能有一个checked,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们实现被点击的按钮为红色图片样式,即其它没选中的按钮为灰色图片...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作