对角线排列的背景图片拼合技术

问说网 · 发布于 2015-02-28 · 字数3247 · 浏览 2155 · 评论 0

在字体图标还没有广泛使用之前,我们一般都是使用的png图片,那时候为了更好的优化网页,减少网页的HTTP请求,我们将很多的图标放置在一张图片上,然后通过CSS的背景定位显示特定位置上的图标,这就是我们熟知的CSS Sprites。

这个构想是非常好的解决方法,可是在实际的使用过程中,你可能会发现,一定区域内由于显示的标签很大,会出现其他背景图上的图标,例如下面的这张图:

sprite chunks超出

我们不得不增加背景图上面,图标的间距不管是X轴还是Y轴,又得重新去计算图标的位置修改代码。

那么这个问题有没有解决方法呢,针对上面的图片出现的问题,我们可以将我们的图标水平排列,然后给以足够的距离,但是如果有很多的图标,那么这张图可能会很长很长,体积也足够大。

对角线精灵

当你在想如果排列这些图标的时候,不管是水平排列还是垂直排列,你有没有想过对角线排列呢?我找了半天也没找到任何提及一个对角线的精灵。我不知道这是否意味着这是一个新的想法,或一个坏的,没有人愿意出版。我希望是前者。

diagonal-in-action

不幸的是有一个文件大小的权衡。你增添了许多未使用的空白。一个30左右的精灵,我从组件垂直堆叠对角堆叠,只有约10%的大小增加。另外,约有60的图像,它增加了45%。10%的增长是很容易的获得利益的燕子。45%是努力一点。你的可能不一样。

sprite-diagonal

因为你没有把你的精灵部件之间的间距(我做很多的垂直和水平,允许一小部分操纵每)精灵尺寸更小。我的60个精灵图像的组件之间的空间是2142px 50px高。间隔了200px组件之间就超过8000px。使用相同的60组对角的精灵,用10px填充结束被周围1500px高和宽。据我所知,这只对Opera浏览器。我找不到对具有大尺寸问题的任何其他浏览器的信息,但希望如果你知道其他问题听取反馈。

所以,你可以在实践中看到这一点,我创建了一个简单的10分量的精灵从几个图标famfamfam丝绸图标集(见上图)。你可以查看示例页显示50px,200px和对角间隔的精灵。的filesizes和尺寸了:50px–×610 5723字节16,200px–×1960 5967字节16,对角线–×250 6554字节250。

制作对角线精灵

当我正常的垂直堆叠的精灵我用精彩的在线工具CSS Sprite Generator。我注意到,后端是开放源代码的grabbed a copy

在获得所需部件安装在我的本地机器后(后疼痛明显,后期),我调整他们的代码在一个对角线的精灵输出。目前的代码是快速和肮脏的种因为我不知道是去工作。如果有兴趣,我就可以,请让我知道在下面的评论中,我就可以把它清理和释放。

最后我认为这是问题,我碰到一个不错的解决方案。它可能不适合每一个人,文件大小增加是值得考虑的,但它是在后面的口袋里一个有趣的选择。我想听听你的意见对这个解决方案。

译文:http://www.aaronbarker.net/2010/07/diagonal-sprites/

本文系作者 问说网 授权问说网发表,并经问说网编辑,转载请注明出处和 本文链接

相关文章

  • 2015-10-23GitStack在Windows上部署Git版本控制系统
  • 2016-01-22jquery.ns_bub.js基于jQuery的气泡提示插件
  • 2016-03-10JavaScript有限状态机使用方法
  • 2016-03-11如何让DIV中的内容垂直居中
  • 2016-05-14如果H5不火了,微信死了,活下来的会是什么?
  • 2016-05-17多亏Sketch!我这个小码农可以自己设计APP了
  • 2016-06-03细数递归与循环的优缺点
  • 2016-06-06Git初始化和自定义初始目录
  • 发布评论

    为您推荐

    问说网 · 发布于 2016-01-08

    WOPT用于对Web项目进行静态优化

    WOPT 用于对 Web 项目进行静态优化,目前支持对 CSS 和 JS 文件的合并压缩,并且会自动对 HTML 中的引用进行改写,轻量级的Web项目优化插件。

    问说网 · 发布于 2016-04-06

    PagePiling.js全屏滚动插件配置参数和方法函数

    pagePiling.js 这款 jQuery 插件可以帮助前端开发人员轻松实现全屏滚动效果。支持所有的主流浏览器,包括IE8+,支持移动设备。下面详细讲解下p…

    使用Photoshop创建复古裂纹文字效果

    在这个教程中,我会向你展示,如何使用Photoshop创建复古裂纹文字效果,最近的一段时间,很多粉丝,喜欢这种复古字体效果,而且这种富有创造力的效果,很多通过游…

    • 使用Photoshop创建复古裂纹文字效果
    • 使用Photoshop创建复古裂纹文字效果
    • 使用Photoshop创建复古裂纹文字效果
    • 使用Photoshop创建复古裂纹文字效果
    问说网 · 发布于 2016-04-20 · 浏览 1471 · 评论 0

    在Photoshop中设计绚丽的几何形状字体

    在这个教程中,我会向你展示整个设计过程,如何在ps中创建这个绚丽错落的几何字体,这是一个简单的教程,但效果看起来真棒,试试看!在此过程中,我会教给你一些技巧,创…

    • 在Photoshop中设计绚丽的几何形状字体
    • 在Photoshop中设计绚丽的几何形状字体
    • 在Photoshop中设计绚丽的几何形状字体
    • 在Photoshop中设计绚丽的几何形状字体
    问说网 · 发布于 2016-04-23 · 浏览 1565 · 评论 0
    问说网 · 发布于 2016-05-13

    判定被7整除的简易方法

    判断一个数的整除性对于某些除数来说是一件非常容易的事,比如2、3、4、5、6、8、9、10、11、12、15但是对于7来说一直是一个难题,而判定是否被7整除在数…

    不加班不熬夜!成功网页设计师的七大必备技能
    GallacherGlenn · 发布于 2016-05-14

    不加班不熬夜!成功网页设计师的七大必备技能

    每一个网页设计师都有着坚实的基础知识和他的核心竞争力,这些确保他能脱颖而出。如果成为优秀的网页设计师是你的目标,那么下面所说的7大技能是你必须具备的。

    超级好货!15个无版权限制的大图特供网站

    对于网页设计师和平面设计师来说,图片素材是十分需要的,特别是无版权限制的素材。虽然国内有很多素材下载站,但大部分都没有版权描述,这样会让用户不知道是否可以免费使…

    • 超级好货!15个无版权限制的大图特供网站
    • 超级好货!15个无版权限制的大图特供网站
    • 超级好货!15个无版权限制的大图特供网站
    • 超级好货!15个无版权限制的大图特供网站
    我妈生我必有用 · 发布于 2016-05-14 · 浏览 1388 · 评论 0

    三步制作出这种精美弥散阴影

    不知道大家有没有注意,从去年开始突然流行一种萌萌哒的阴影设计技巧,先看下面几张图(反正我是去年才开始用这种技巧的,可能是我知道的太晚 (*^__^*)) 看完后…

    • 三步制作出这种精美弥散阴影
    • 三步制作出这种精美弥散阴影
    • 三步制作出这种精美弥散阴影
    • 三步制作出这种精美弥散阴影
    PigouOlivia · 发布于 2016-05-17 · 浏览 1354 · 评论 0

    问说网手机版

    躺着 站着 跪着轻松访问

    更多详情 关于作者

    问说网

    问说网分享与设计有关的文章素材界面和作品,提供设计教程、素材分享、界面欣赏、编程设计、设计书籍、设计师导航等内容,你可以在这里阅读、学习、分享、交流。

    13177 文章
    493 评论
    2121 人气

    更多 热门话题

    APP界面

    关注 APP界面

    文章 41506 · 浏览 3658

    APP欣赏

    关注 APP欣赏

    文章 41427 · 浏览 3415

    APP手机界面

    关注 APP手机界面

    文章 41417 · 浏览 3687

    图片素材

    关注 图片素材

    文章 29463 · 浏览 2922

    高清图片

    关注 高清图片

    文章 26530 · 浏览 3160

    更多 推荐作者

    关注 秋天的孤寂

    文章 99 · 评论 0

    关注 怎麽继续

    文章 90 · 评论 2

    关注 倾听寂寞

    文章 83 · 评论 0

    关注 莪很迷茫

    文章 97 · 评论 0

    关注 籹孒不认输

    文章 94 · 评论 0

    关注 思念像咒语

    文章 102 · 评论 0

    
    顶部 反馈 评论 底部

    意见反馈

    感谢您对问说网的支持,提出您在使用过程中遇到的问题或宝贵建议,您的反馈对我们产品的完善有很大帮助。

    您的反馈我们已收到!

    感谢您提供的宝贵意见,我们会在1-2个工作日,通过您留下的联系方式将处理结果反馈给您!