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

问说网 · 发布于 2015-02-28 · 字数3247 · 浏览 1788 · 评论 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-11-28Ejecta适用于IOS快速开源的JavaScript、Canvas和音频实现
  • 2017-01-19用JavaScript实现给出的盒子的序列是否可连为一矩型
  • 2016-03-08MySQL中修改字段的首字母为大写
  • 2016-12-02Response JS创建高性能的支持移动设备的网站
  • 2016-05-15给你点颜色看看!30枚超级酷炫背景素材下载
  • 2016-05-16超级福利!6个免费无版权世界级图片素材特供网站
  • 2016-05-16寻求设计的本质!禅意设计的缘起和未来
  • 2016-06-30io.js衍生自Node.js并兼容npm的开发平台
  • 发布评论

    为您推荐

    用JavaScript实现给出的盒子的序列是否可连为一矩型
    AustenJuliet · 发布于 2017-01-19

    用JavaScript实现给出的盒子的序列是否可连为一矩型

    by cpglkg <script>var arr=[5,10,15];function rect(arr,width){ arr.sort(fun…

    问说网 · 发布于 2016-12-02

    FlyJSONP轻量级的跨域AJAX请求插件

    FlyJSONP是一个JavaScript库,用于实现跨域GET和POST请求服务,支持JSONP,并取得一个JSON格式的数据响应,这个Library具有易于…

    设计趋势抢先看!2015年春夏季流行色彩

    2015迫不及待就要和我们见面了,今天CYHD将和大家一起来关注2015年春夏将会流行什么色彩呢?除了一系列和谐又多变的色彩之外,时尚大师们对于色彩的热情诠释同…

    • 设计趋势抢先看!2015年春夏季流行色彩
    • 设计趋势抢先看!2015年春夏季流行色彩
    • 设计趋势抢先看!2015年春夏季流行色彩
    • 设计趋势抢先看!2015年春夏季流行色彩
    JoelBishop · 发布于 2016-05-16 · 浏览 1165 · 评论 0

    AI教程!教你绘制一个大气典雅的灯光背景

    AI教程!教你绘制一个大气典雅的灯光背景 这个 AI教程 ,我们将学习如何快速绘制一个灯光背景。该教程将教你如何更好地使用基本形状工具和渐变,以制作出一个大气典…

    • AI教程!教你绘制一个大气典雅的灯光背景
    • AI教程!教你绘制一个大气典雅的灯光背景
    • AI教程!教你绘制一个大气典雅的灯光背景
    • AI教程!教你绘制一个大气典雅的灯光背景
    再坚强也有流泪的权利 · 发布于 2016-05-17 · 浏览 981 · 评论 0
    分享常用响应式Web UI开发框架
    问说网 · 发布于 2016-06-24

    分享常用响应式Web UI开发框架

    好的工具能够帮助我们快速的开发Web应用程序,有些东西不需要我们自己写,有现成的框架将使我们开发工作更顺利,这篇文章给大家分享常用响应式Web UI开发框架。

    Vincent · 发布于 2016-07-06

    Java接口和抽象类

    抽象类 抽象类中的方法既可以有抽象方法,也可以有非抽象方法,可以全部都是抽象方法,也可以全部都是非抽象方法 抽象方法只能出现在抽象类或接口中,不能出现在非抽象类…

    详细讲解JAVA中的IO流
    Vincent · 发布于 2016-07-06

    详细讲解JAVA中的IO流

    包 java.io   文件路径 1. java.io.File是文件和目录路径名的抽象表示形式 2. 抽象路径名中的第一个名称是目录名,抽象路径名中…

    Vincent · 发布于 2016-07-06

    SSH环境搭建

    Struts部分 web.xml中配置: <filter>     <filter-name>struts2</filter-na…

    问说网手机版

    躺着 站着 跪着轻松访问

    更多详情 关于作者

    问说网

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

    13167 文章
    495 评论
    2068 人气

    更多 热门话题

    APP界面

    关注 APP界面

    文章 41506 · 浏览 3117

    APP欣赏

    关注 APP欣赏

    文章 41427 · 浏览 2883

    APP手机界面

    关注 APP手机界面

    文章 41417 · 浏览 3006

    图片素材

    关注 图片素材

    文章 29463 · 浏览 2418

    高清图片

    关注 高清图片

    文章 26530 · 浏览 2621

    更多 推荐作者

    关注 秋天的孤寂

    文章 99 · 评论 0

    关注 怎麽继续

    文章 90 · 评论 2

    关注 倾听寂寞

    文章 83 · 评论 0

    关注 溫柔的溫柔

    文章 91 · 评论 0

    关注 流浪的脚步

    文章 86 · 评论 0

    关注 籹孒不认输

    文章 94 · 评论 0

    
    顶部 反馈 评论 底部

    意见反馈

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

    您的反馈我们已收到!

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