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

问说网 · 发布于 2015-02-28 · 字数3247 · 浏览 2335 · 评论 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-06-24编写CSS5个重大的错误认识
  • 2015-07-07使用Bootstrap中的Typeahead自动完成组件
  • 2015-10-13JSDuck基于Ruby的JavaScript API文档生成器
  • 2016-04-19在Photoshop中创建炫丽光线
  • 2016-05-02FileReader.js在浏览器中读取文件信息
  • 2016-05-09Screw轻量级的无限滚动jQuery插件
  • 2016-06-24分享常用响应式Web UI开发框架
  • 2016-06-28jqFloat.js实现页面元素的浮动效果jQuery插件
  • 发布评论

    为您推荐

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

    ScrollMagic神奇的滚动交互动画jQuery插件

    ScrollMagic 是一款 jQuery 插件,它让你可以像使用进度条一样使用滚动条。如果你想在特定的滚动位置开始一个动画,并且让动画同步滚动条的动作,或者…

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

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

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

    真是太强大了!高效输出移动app产品原型

    如何高效输出移动app产品原型? 清晰的产品思路,顺畅的协同合作,齐备的素材元素,真实的体验感受,保证高效,更要保证成果。下面我们将分三步走,来完成高效输出移动…

    • 真是太强大了!高效输出移动app产品原型
    • 真是太强大了!高效输出移动app产品原型
    • 真是太强大了!高效输出移动app产品原型
    • 真是太强大了!高效输出移动app产品原型
    BessWinston · 发布于 2016-05-14 · 浏览 1334 · 评论 0

    AI制作长投影效果图标

    AI制作长投影效果图标 在Dribbble、Behance等各大设计社区经常可以看到长投影设计,它看起来像是对“扁平化”风格的一种强化,特别是在设计图标或简单的…

    • AI制作长投影效果图标
    • AI制作长投影效果图标
    • AI制作长投影效果图标
    • AI制作长投影效果图标
    BloomerWillie · 发布于 2016-05-17 · 浏览 1512 · 评论 0
    EmmieKaren · 发布于 2016-05-17

    游戏常用的岩石字体效果制作过程

    今天尝试一个岩石风格的字体设计,想和大家分享一下,这种字体主要用在原始的卡通游戏中,比如部落战争、城堡争霸等,主要用到裂痕特效。

    GEORGE-ZL · 发布于 2016-05-19

    深圳天气APP客户端设计大赛 征稿启事

    深圳天气(SZ weather)是由深圳市气象局提供的天气资讯平台,主要为用户提供准确及时的天气信息以及气象产品服务。为了改善用户体验,给用户提供更好、更便捷的…

    分享50组使用纯CSS代码绘制的图标

    使用纯CSS代码绘制图标,可能你觉得太费事了,兼容也不容乐观,但是有人真的这么干了,而且效果还很好,也许在你的项目中,你可以参考使用下,下面是收集来自Codep…

    • 分享50组使用纯CSS代码绘制的图标
    • 分享50组使用纯CSS代码绘制的图标
    • 分享50组使用纯CSS代码绘制的图标
    • 分享50组使用纯CSS代码绘制的图标
    问说网 · 发布于 2016-06-25 · 浏览 1730 · 评论 0
    Java异常处理
    Vincent · 发布于 2016-07-06

    Java异常处理

    异常类 Throwable类是 Java 语言中所有错误(Error)或异常(Exception)的超类 异常处理 异常声明(消极) 异常声明使用关键字thro…

    问说网手机版

    躺着 站着 跪着轻松访问

    更多详情 关于作者

    问说网

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

    13177 文章
    495 评论
    2154 人气

    更多 热门话题

    APP界面

    关注 APP界面

    文章 41506 · 浏览 4351

    APP欣赏

    关注 APP欣赏

    文章 41427 · 浏览 4539

    APP手机界面

    关注 APP手机界面

    文章 41417 · 浏览 4502

    图片素材

    关注 图片素材

    文章 29463 · 浏览 3582

    高清图片

    关注 高清图片

    文章 26530 · 浏览 3829

    更多 推荐作者

    关注 秋天的孤寂

    文章 99 · 评论 0

    关注 惢碎葬爱

    文章 96 · 评论 0

    关注 溫柔的溫柔

    文章 91 · 评论 0

    关注 莪很迷茫

    文章 97 · 评论 0

    关注 籹孒不认输

    文章 94 · 评论 0

    关注 凉城梦镜

    文章 79 · 评论 0

    
    顶部 反馈 评论 底部

    意见反馈

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

    您的反馈我们已收到!

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