原文:Creating Image Sprite in Visual Studio - Web Essential

译者注:有关图片精灵的信息请参阅http://baike.baidu.com/view/2173476.htm。

通过本文,可以学习到如何使用Visual Studio的Web Essential扩展来创建图片精灵。假如你有一个网站,使用了大量的图像,且每个图像都是通过独立的请求加载的,那么请求的数量就会增加,这样,网站速度就会变慢。而这就需要进行优化,以加快网站速度。

图片精灵是一种将多个图像合成为一个大图像的排序技术,这样,网站就只需要加载一个文件而不是多个文件,从而可以加快网站速度。

下面先来了解一下Web Essential是什么,然后再看看如何在Visual Studio IDE中创建图片精灵。

Web Essential

Web Essentials为Visual Studio扩展了一些新功能,不过已经被Web开发人员遗忘很多年了。

如果你要编写CSS、HTML、JavaScript、TypeScript、CoffeeScript或者LESS,那么,你将会发现有许多有用的功能可以让你作为一个开发人员的生活更轻松。

该扩展主要面向的是所有使用Visual Studio的Web开发人员。它在2012年8月由Mads Kristensen首次提出。

基于Visual Studio 2013的Web Essentials 1.7现在让图像处理比以往简单了很多。

如果你还没有将该扩展安装到你喜爱的Visual Studio IDE中,那么你将会错过很多功能,你可以从快速的从这里去下载它。

现在,让我们来探讨一下如何去创建图像精灵。

将粘贴板中的图像粘贴到Visual Studio编辑器中

在Web Essential包含此功能之前尽管有许多不同的方法来创建图片精灵,但使用Visual Studio Web Essential扩展可以让该工作比之前的方法更简单。下面,按照以下步骤去做。

第一步:选择图片并右击选择的图片>Web Essentials>Create Image Sprite...

在单击“Create image sprite”后,它会让你输入精灵名称,输入名称并单击保存按钮。默认情况下,新的精灵会被添加到images目录。

第2步:展开精灵树(如上图),会立即在精灵树下看到.png文件。这些.png文件实际上就是单一图像中所包含的我们在创建精灵时选择的小图片。如下图。

第3步:展开MySprite.png文件,会找到.css、.less、.map和.scss文件,这些文件用途不大,只是精灵的备份,不过将他们留在项目里很重要。

如果打开MySprite.png.css文件,会看到一些CSS代码,可以将这些代码复制到原来的样式文件之中(site.css)。以下是MySprite.png.css文件的屏幕截图。

在上图中可以看到每一个小图片的定义,这些小图片是根据他们在大图片的位置来进行显示的。

将这些样式复制到Site.css文件或者其他的样式文件。

第4步:现在,为了能使用这些CSS,也就是新的图片精灵,需要在DOM中使用以下标记:

<div class="orderedList0"></div>
<div class="orderedList1"></div>
<div class="orderedList2"></div>
<div class="orderedList3"></div>
<div class="orderedList4"></div>

可以看到,在这里使用了类选择器来将CSS文件映射到样式。

我为这录了一个Hindi视频。如果你不了解Hindi,可以查看以上步骤。

译者注:要看视频请访问源地址。

作者:Abhimanyu Kumar Vatsa, Microsoft MVP in ASP.NET/IIS | Author | IT Faculty | Student of M.Tech. IT, works as an Assistant Lecturer in Coxtan College, Bokaro. Know More

使用Visual Studio创建图片精灵(Image Sprite)——Web Essential的更多相关文章

  1. 使用Visual Studio创建简单的自己定义Web Part 部件属性

    使用Visual Studio创建简单的自己定义Web Part 部件属性 自己定义属性使用额外的选项和设置拓展你的Web part部件.本文主要解说怎样使用Visual Studio创建简单的自己定 ...

  2. 使用Visual Studio创建映像向导(Image Sprite)——Web Essential

    原版的:Creating Image Sprite in Visual Studio - Web Essential 译者注:有关图片精灵的信息请參阅http://baike.baidu.com/vi ...

  3. 【翻译】使用Visual Studio创建Asp.Net Core MVC (一)

    This tutorial will teach you the basics of building an ASP.NET Core MVC web app using Visual Studio ...

  4. 用Visual Studio创建集成了gtest的命令行工程

    gtest代码库中的sample代码 在gtest的代码库中,包含了10个sample的代码,覆盖了gtest的常见用法,sample的代码位于以下文件夹: gtest\samples 由于gtest ...

  5. 使用Visual Studio 创建新的Web Part项目

    使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之中的一个.它是平台构建的核心基块. 1. 管理员身份打开Visual St ...

  6. 使用Visual Studio 创建可视Web Part部件

    使用Visual Studio 创建可视Web Part部件 可视Web Part部件是很强大的Web 部件.它提供内置设计器创建你的用户界面. 本文主要解说怎样使用Visual Studio 创建可 ...

  7. Visual studio 创建项目失败vstemplate

    Visual studio 创建项目失败 提示 the vstemplate file references the wizard class 'Microsoft.VisualStudio.WinR ...

  8. Xamarin 中Visual Studio创建项目提示错误

    Xamarin 中Visual Studio创建项目提示错误 错误信息:Object reference not set to an instance of an object 出现这种情况,是由于没 ...

  9. Visual studio 创建文件时自动添加备注

    Visual studio 创建文件时自动添加备注 描述 要求每回添加一个类,普通类或单元测试类文件头自动添加备注, 比如:Copyright, FileName, Author and so on. ...

随机推荐

  1. 20160221.CCPP体系详解(0031天)

    程序片段(01):01.结构体静态数组.c+02.结构体动态数组.c 内容概要:结构体数组 ///01.结构体静态数组.c #include <stdio.h> #include < ...

  2. Azkaban-2.5及Plugins的安装配置

    Azkaban是由LinkedIn开发的调度工具,可以用于调度Hadoop中的相互依赖的Job.有时候,在Hadoop集群中运行的Job是相互依赖的,某些任务需要顺序的执行,这种场景下使用Azkaba ...

  3. android 自定义view之选座功能

    效果图: 界面比较粗糙,主要看原理. 这个界面主要包括以下几部分 1.座位 2.左边的排数 3.左上方的缩略图 4.缩略图中的红色区域 5.手指移动时跟随移动 6.两个手指缩放时跟随缩放 主要技术点 ...

  4. [code segments] OpenCV3.0 SVM with C++ interface

    talk is cheap, show you the code: /***************************************************************** ...

  5. Android通过WebService实现图片的上传和下载(一)

    这篇文章将讲解Android如果通过访问WebService接口实现图片的上传和下载,当然这不但需要大家懂得Android还要懂得WebService技术,安卓属于客户端,而webservice则属于 ...

  6. JAVA面向对象-----匿名内部类

    匿名内部类 匿名内部类:就是没有类名字的内部类. 匿名内部类作用:简化内部类书写. 匿名内部类的前提:必须继承一个父类或者是实现一个接口. 匿名内部类的格式: new 父类或者接口(){ 执行代码-. ...

  7. 打开Voice Over时,CATextLayer的string对象兼容NSString和NSAttributedString导致的Crash(一现象)

    一.现象:iPhone真机打开Voice Over的情况下,iPhone QQ空间工程,Xcode 真机编译启动必Crash,main函数里面 NSSetUncaughtExceptionHandle ...

  8. Scikit-learn:模型选择Model selection

    http://blog.csdn.net/pipisorry/article/details/52250983 选择合适的estimator 通常机器学习最难的一部分是选择合适的estimator,不 ...

  9. EJB开发第一个无状态会话bean、开发EJB客户端

    开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下 ...

  10. 安卓开发过程中空指针的问题Java.lang.NullPointerException

    最近做一个新闻客户端的应用,经常出现空指针的问题,我想一方面可能是自己水平有限,二是开发过程中有一些遗漏的地方.一般情况下新手出现空指针的概率较高.下面来总结一下经常出现的问题. 1.所谓的指针,就是 ...