Sprite”(精灵)这个词在计算机图形学中有它独特的定义,由于游戏、视频等画质越来越高,必须有一种技术可以智能的处理材质和贴图,并且要同时保持画面流畅。“Sprite”就是这样一种技术,它将许多图片组合到一个网格上,然后通过程序将每个网格的内容定位到画面上。
Sprite被定位到一副静态图片上,并且通过简单的程序或硬件即可正确定位到画面上,一幅幅图片就像是被“变”出来的,他们并没有单独占用内存,所以被取名为“Sprite精灵”。
时间进行到2000年,Web设计向着精致、巧妙的方向发展。设计师们开始考虑使用非Javascript的方 式制作鼠标滑过、悬停菜单的效果,这时CSS Sprite应运而生,它基于同上文提到的游戏Sprite同样的原理,并且使用CSS更容易控制,很快的流行开来。
当页面加载时,不是加载每个单独图片,而是一次加载整个组合图片。这是一个了不起的改进,它大大减少了HTTP请求的次数,减轻服务器压力,同时缩短了悬停加载图片所需要的时间延迟,使效果更流畅,不会停顿。
CSS Sprites可以用在很多场合,大型网站可以将许多单独的图片,以有机的方式组合起来,从而使其便于维护和更新。图片之间通常会留出较大的空白,使 得图片不会影响网页的内容。但同时CSS Sprite大多使用于较固定的像素定位中,它的弹性较差,收到定位等因素的制约。所以,你需要在可维护性vs降低负载之间权衡利弊,选择最适合你的项目 的方式。
在网站图片的解决方案中,CSS3应该是首选,其次是SVG和icon font,最后才是Bitmap。经常使用的Bitmap文件应该打包放在一个单独的sprite中,这样一来图片就可以在CSS中访问到了,像这样:
.sprite {
width: 16px;
height: 16px;
background: url(“sprite.png”) 0 0 no-repeat;
}
.sprite.help { background-position: 0 -16px; }
.sprite.info { background-position: 0 -32px; }
.sprite.user { background-position: 0 -48px; }
换句话说我们把图像档案的内容内置在 HTML 档案中,节省了一个 HTTP 请求。
data uri的主要优点是减少了http请求数,调用起来比css sprite更加灵活,缺点是增加了客户端的资源消耗。
在所有浏览器的非缓存的模式下, CSS sprite 方式比 data URI 方式快了数百微秒。但事实上 CSS Sprite 比 Data URI 方式多发送了一次连接请求,包括 TCP 慢启动招致所有相关的连接开销。
缓存条件下 Android 4.2 和 iOS 6 的 CSS sprite 模式都有大概 2 倍的速度提升,只是 iOS 条件下减少了 220ms 而 Android 减少了 70ms (原生浏览器)。相对来说,Chrome 和 Firefox 的情况平衡得好点,缓存和非缓存情况下只有 50% 到 60ms 左右的性能差异。
在这里我建议将 data URIs 用于非常小的资源,并且不能在 CSS 和 内联 HTML 中多次使用它们。
在利用相关技术对网站首页代码,图片,组件进行瘦身处理后,就需要使用相关检测工具对网站速度进行测试。一般情况下,网站打开速度应低于4秒。
OK,今天北京seo外包小编分析的内容就到这里了,不知道大家看明白了没,掌握如何优化网站首页代码方法的目的在于提升网站速度,推荐的典型做法有删除多余代码与组件,对现有代码利用最新技术如css3进行优化,还有一个重要点就是服务器端的选择,标准应该是快且稳定。大家有任何问题可以添加【qq:944254534】;912037469进行咨询哦~
(责任编辑:北京网站建设,北京网站制作公司)