sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉非常easy的东西。作用却非常大

什么是CSS Sprites


CSS Sprites是指把网页中非常多小图片(非常多图标文件)做成按规律排列的一张大图上,在显示的时候通过background-image、background-position显示图片特定部分达到和分散的一张张小图片一样的效果。

JqueryUI的效果图例如以下

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFuX3lhbmt1bjIwMDk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

非常多页面经常使用的小图标。可是我们看看每一个小图标的源代码的时候会发现,这些小图标的src是同一个文件。都是这张大图

为什么要使用CSSSprites


姑且先无论这是怎么实现的,我们先来了解一下又好好的方法它不用为什么要用这样的怪异的方式,在代码书写和可读性上都有了一定程度的开销。这么干有什么优点能让人们放弃安逸的做法来用CSS sprites呢?

  • 浏览器载入图片为堵塞形式

我们知道浏览器在载入网页的时候图片文件及外部的JS、CSS文件都须要单独下载,但JS是阻塞HTML下载进程的,图片是另外开启进程来下载的,不同的浏览器同一时候下载图片的数量的限制一般为一个或者五个或者十个,所以假设一个遍布了图片的网页,或者一系列网页,即使你网速再快也要分批次的下载这些图片。

  • 图片下载为一次完整的http请求

每一个图片的下载都是一次完整的HTTP请求-响应。而把非常多小图片集中到一张图片上这样在仅仅须要一个HTTP请求-响应,在如今网速条件下不超过200k的图片下载速度是差点儿相同的,下载一次之后不管是该页面还是网站其他页面使用包括在这张大图上的图片的时候就能够使用缓存,不会带来重复下载的开销。所以仅仅有一个HTTP请求-响应。

  • Sprites降低HTTP请求

所以使用CSS sprites最大的优点就是降低HTTP请求,加快站点响应速度,提高站点性能。

或许会问,多几个HTTP请求真的会那么严重吗?假设使用一张大图,那么非常可能大图中有几个图片用不到。这不是多载入内容了吗。和多几次HTTP请求开销差距有那么大吗?

CSS Sprites实现


首先了解一下CSS的 background-position

background-position设置或检索对象的背景图像位置。必须先指定 background-image属性。

语法:

background-position: length || length

background-position: position || position

取值:

length  :百分数
|由浮点数字和单位标识符组成的长度值。

position  :top | center | bottom | left | center |right

如:
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } /* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }

我们看到使用的url为同一个图片,知识postion时,图片的锁定位置有变动。

小结:

CSS Sprites的缺点:凡事有利必有弊端。

可能有人喜欢,有人不喜欢,由于每次图片修改都要往这张图片加入内容,图片的坐标定位要非常准确会,会稍显繁琐。坐标定位要固定为某个绝对值,因此会失去如center的一些灵活属性。

CSS Sprites 有长处也有缺点。要不要使用,详细要看网页以载入速度为主还是以维护方便easy为主。

Web优化 --利用css sprites降低图片请求的更多相关文章

  1. CSS3与页面布局学习笔记(五)——Web Font与CSS Sprites(又称CSS精灵、雪碧图)技术

    一.web font web font是应用在web中的一种字体技术,在CSS中使用font-face定义新的字体.先了解操作系统中的字体: a).安装好操作系统后,会默认安装一些字体,这些字体文件描 ...

  2. CSS sprites减少HTTP请求

    使用CSS sprites减少HTTP请求   sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉很简单的东西,作用却很大 神马是CSS 小妖精 C ...

  3. 如何利用CSS代码使图片和文字在同一行显示且对齐

    对于初学css的新手朋友来说,经常会遇到这样一个问题,当文字和图片出现在同一行或者同一个div里面的时候,在浏览器中运行出来的显示效果往往是在不同的行,那么,我们怎么才能利用CSS代码使图片和文字在同 ...

  4. 使用CSS sprites减少HTTP请求

    sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉很简单的东西,作用却很大 神马是CSS 小妖精 CSS sprites是指把网页中很多小图片(很多 ...

  5. 【CSS sprites (CSS图片精灵) 详解】

    本文包含 CSS sprites 简介.原理.适用在哪些类型的网页制作中.背景图片的 position 值如何确定以及制作 sprites 的技巧. [CSS sprites 简介] CSS Spri ...

  6. 【转】CSS Sprites教程大全(使用方法、工具介绍)

    什么是CSS Sprite CSS Sprite 又叫CSS精灵,是目前大型网站中经常运用的图片处理方式.它的原理很简单,将网站上零散的小图片(或图标)整合在一张大图上,再用CSS中“backgrou ...

  7. css sprites的原理和作用

    CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢 ...

  8. CSS Sprites (CSS图像拼合技术)教程工具

    什么是CSS Sprites? “Sprite”(精灵)这个词在计算机图形学中有它独特的定义,由于游戏.视频等画质越来越高,必须有一种技术可以智能的处理材质和贴图,并且要 同时保持画面流畅.“Spri ...

  9. CSS Sprites(CSS图像拼合技术)教程、工具集合

    本集合是有一位国外设计师收集整合,并由 oncoding翻译成中文的,感谢他们的辛苦贡献.CSS Sprites技术在国外并不是什么新技术,只不过近两年(尤其08年开始)中国开始流行这个词,大家也开始 ...

随机推荐

  1. 【01】报错:webpack 不是内部或不可执行命令

    [02] webpack 不是内部或不可执行命令 一般来安装完之后是可以直接执行的你可以执行 webpack -v 或者是 webpack --help   这样的就是正确的,我的问题的解决办法是 将 ...

  2. selenium常见控件操作

    下拉选择框 第一种方法:from selenium.webdriver.support.select import Select# 实例化一个Select类的对象 selector = Select( ...

  3. SQL server将查询到的多行结果,拼接成字符串(列转行)

    select stuff(( ,,'') as UserNamestr 注释:查询出tabname表中的UserName列的所有内容,并将内容拼接成UserNamestr

  4. SPOJ-Matrices with XOR property,暴力打表!

    Matrices with XOR property 应该先去看看这题的,补题的时候发现这题其实挺简单的.. 题意:n*m的格子用1-n*m的数去填,要求如果一个格子(i1,j1)与另外一个格子(i2 ...

  5. 九度oj 题目1131:合唱队形

    题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们 ...

  6. 如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2'

    如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2' 大家在做真机调试的时候,或许会遇到这样的问题,那如何 ...

  7. [UOJ#223][BZOJ4654][Noi2016]国王饮水记

    [UOJ#223][BZOJ4654][Noi2016]国王饮水记 试题描述 跳蚤国有 n 个城市,伟大的跳蚤国王居住在跳蚤国首都中,即 1 号城市中.跳蚤国最大的问题就是饮水问题,由于首都中居住的跳 ...

  8. Spring boot+Spring Security 4配置整合实例

    本例所覆盖的内容: 1. 使用Spring Security管理用户身份认证.登录退出 2. 用户密码加密及验证 3. 采用数据库的方式实现Spring Security的remember-me功能 ...

  9. Apache Sqoop - Overview Apache Sqoop 概述

    使用Hadoop来分析和处理数据需要将数据加载到集群中并且将它和企业生产数据库中的其他数据进行结合处理.从生产系统加载大块数据到Hadoop中或者从大型集群的map reduce应用中获得数据是个挑战 ...

  10. 标准C程序设计七---00

    以下内容为阅读: <21天学通C语言>(第7版) 作者:Bradley Jones  Peter Aitken  Dean Miller(美), 姜佑译 人民邮电出版社  2014.11 ...