举个例子
,
例如
:
生成的
css
看起来像下面这样
:
#web
{
width:
17px;
height:
17px;
background-repeat:
no-repeat;
background-image:
url('../img/mysprite.png');
background-position:
left -0px;
}
#logo {
width:
50px; height: 50px;
background-repeat:
no-repeat;
background-position:
top right;
background-image:
url('../img/mysprite.png');
background-position:
right -17px; }
#main-box {
background-repeat:
repeat-x;
background-position:
5px left;
background-image:
url('../img/mysprite.png');
background-position:
left -64px;
}
注意在生成的
css
文件中
,
所有的
SmartSprites
指令都被忽略了
.,
如果不幸你发现有的没有被删除掉
,
意味着这些
个别的指令有语法错误
,
而被忽视掉了
, Warning messages
可以帮助你准确定位到这些问题
.
同样
,
如果发现
SmartSprites
没有去掉原始的
background-position
属性
,
但是将自己添加到了下边
.
你的
background-position
或者
background-image
属性下面出现了
SmartSprite
的
sprite reference
指令的话
,
你的设计可能被破坏
,
.
原话为
:( Also notice that SmartSprites currently doesn't remove the original
background-position
properties, but appends its own ones below to shadow them. Your design
may break if you have
background-position
or
background-image
properties appearing below
the line with SmartSprite's sprite
reference directive.)
5.
检查如果你的设计依然和以前一样
,
有可能
,
他不会马上生效
,
详见常见问题提示
. FAQ
(
原文为
:
Check if your design still looks the same
.
Chances are, it won't right away. See FAQ
for some tips)
6.
调节全局选项
.
SmartSprites
有一些选项可以在命令行调用
,
可以更进一步的调节你的设计
a.
--root-dir-path
::
指定
-
SmartSprites
处理的路径
,
如果没有指定
css-files
或者指定了
output-dir-path
,
则这个属性是必须的
,
默认值
,
不指定
.
SmartSprites
将会处理指定目录和其子目录下所有以
*.css
为扩展名的文件
,
对于处理
css
文件时更多细粒度的控制
,
请查看
css-files
项
.
如果提供的根目录是相对路径,则会解析为当前工作目录的路径.
b.
--css-files
:
要处理的
css
文件路径
,
如果没指定
root-dir-path
,
则此选项是必须的
,
默认值
,
不指定
.
使用这个选项
, SmartSprites
将会处理所有的列出来的
css
文件
,
如果
css-files
和
output-dir-path
同时使用
,
root-dir-path
也要指定
,
以便
SmartSprites
可以保持目录结构供给
output-dir-path
中的
root-dir-path
.(
原文为
:
root-dir-path
must also be specified so that SmartSprites can preserve the directory
structure found in
root-dir-path
in
output-dir-path
.)
,
如果
root-dir-path
和
output-dir-path
使用了
,
在
root-dir-path
范围外的
css-files
将被忽略
.
相对路径的
css
文件将会被解释成当前工作目录
,
请注意
, SmartSprites
没有扩展任何通配符
(
类似
:
style/*.css
),
it assumes the expansion is
performed at the command line shell level.(
没译的原文
)
如果是指定一个
Ant
任务处理
css
文件列表
,
使用一个或者多个嵌套的
fileset
元素
,
Please see the
build.xml
file in the distribution archive for an example.(
原文
,
应该是请查看示例中的部署文件
)
C.
--output-dir-path
:
处理的
css
文件和
css-relative
sprite images
的输出路径
,
可选项
,
默认值
,
不指定
,
如果指定了一个非空的
output-dir-path
.
也必须指定一个非空的
root-dir-path
.
root-dir-path
的目录结构将会保持原样输出到
输出路径中
.
例如
:
如果
root-dir-path
中的
css
文件在目录
css/base
下
,
处理结果将会输出到
output-dir-path/css/base
路径下
.
并且
CSS-relative
sprite images
也会输出到这个路径中
. Sprite images
相对于
document-root-relative
的
urls
会被改写为相对于
document-root-dir-path
的
.
如果
output-dir-path
路径不存在
,
将会被创建
,
如果提供的路径为相对的
,
则会被认为是相对于当前工作路径的
.
你可以设置
output-dir-path
为空值
,
这样生成的
css
文件将和原始文件在同一目录下
,
扩展名由
css-file-suffix
指定
.
sprite images
也和原始文件在同一目录下
..
如果你使用了一个非空的
output-dir-path
,
你也可以使用一个非空的
css-file-suffix
.
D.
--document-root-dir-path
:
Document root path for document-root-relative (starting with
/
)
image urls in CSS,(
原文
,
意思应该是提供一个上下文路径,
以便css
中的img
相对路径作为参考
)
可选项
.
默认值
,
不指定
.
所有
document-root-relative
图片和
sprite
的
urls
都是相对于
document-root-dir-path
的
,
并且
document-root-relativesprites
的
urls
会被重写为相对于
document-root-dir-path
.
如果你的
css
图片都是相对路径的
,
这个属性可以置空
,
如果提供的是相对路径
,
则会认为相对于当前工作目录
.
E
.
--log-level
:
消息级别
,
可选项
,
默认值为
:INFO
重要性低于
log-level
级别的日志信息将被输出
, SmartSprites
有
3
级别的日志信息
(
重要程度递增
)
1,
INFO
: information messages,
可忽略
.
2,
IE6NOTICE:
注意
:
可能与创建
IE6-friendly sprite images
时的质量损耗有关系
.,
参见
: IE6-friendly
PNG
项
3,
WARN:
warnings
相关的语法
,
此日志的原因是转换的时候发生
IO
和
sprite
渲染质量损耗问题
,
原来的设计将被破坏
.
(
原文
:warnings related to
syntax, IO and sprite rendering quality loss problems that may cause the
converted sprite-based designs look broken)
F:
--sprite-png-depth
: PNG
格式的颜色深度
,
可选项
,
默认值
:AUTO.
1.
AUTO : Png
颜色深度将会自动选择
.
如果
sprite
图片没有包含部分透明
(alpha
通道
)
并且少于
256
色
,
将会采用
PNG8 ,
否则
,
将会采用
PNG24.
2.
DIRECT:
PNG24.
3.
INDEXED :
采用
png8 ,
如果有半透明
(alpha channel)
或者色值大于
256
色
,
则会发生损耗
,
这时候会给出
warnings
信息
,
参见
sprite-matte-color
属性
.
G:
--sprite-png-ie6
:
如果指定
sprite-png-ie6
:,
则遍历
png sprite image,
寻找有半透明
(alpha channel)
或者大于
255
色并且透明的
png, SmartSprites
将会为
IE6
生成一个对应的颜色减少的
PNG8
文件
,
一条额外的
IE6
支持的
css
会被添加入生成的
css
文件
,
确保
IE6(
并且只有
IE6)
使用
色值缩水的版本
:
#web {
width: 17px; height: 17px;
background-repeat: no-repeat;
background-image: url('../img/mysprite.png');
-background-image:
url('../img/mysprite-ie6.png');
background-position: left -0px;
}
参见
: IE6-friendly
PNG
项
.
H: --css-file-encoding
:
假定输入和输出的
css
文件的编码
,
默认值
: UTF-8,
允许的值列表
,
请参见
list of encodings supported in Java
..
I.
--css-file-suffix
:
追加到处理过的
css
的文件名后面的后缀
,
可选项
,
默认为
:
-sprite
.
7.
用
build
脚本来整合
SmartSprites,
SmartSprites
comes with an Ant that performs sprite processing and has exactly the same
options as the command line invocation.(
原文
,
大意是
,Ant
生成sprite
和命令行调用完全一样
),
对于一个任务调用的示例
,
请看一下
build.xml
脚本
,
它执行任务时会从
smartsprites.properties
属性文件中读取参数生成
sprites.
请注意
,
不同于命令行接口
,Ant
任务解释相对路径为
build.xml
文件的位置
.
Frequently
Asked Questions(
常见问题
)
1.
转换成
sprites
后
,
和我原来的设计完全不一样
.
咋回事
?
这种情况可能发生
:-),
首先
,
检查
SmartSprites warning
信息
,
他们会指出一些因为语法错误而被忽略的指令
.
在进一步的调查前
,
确保没有警告信息
.
第二步,确保每个SmartSprites指令都在单独的一行内.包含
*/
序列结束注释,否则,你可能得到不可预知的结果.
第三步
,
就像前面章节所示的那样
,
SmartSprites
暂时没有去掉原始的
background-position
属性
,
只是把自己像影子一样附加在了下面
.
你的设计可能被破坏
,
如果你有
background-position
或者
background-image
属性出现在
SmartSprite's
sprite reference
指令的下面
.
这种情况下
,
SmartSprites
会输出一个警告信息
(warning),
如果这种情况发生了
,
要移动被重写的属性到
sprite reference
指令的前面
,
重新运行
SmartSprites.
2.
其他图片从
sprite
中露出来了
,
这种情况发生的原因是盒子
(div)
的大小大于
sprited image
了
,
在这种情况下
,
其它的靠下的或者靠右的图片将显示出来.
修正这个问题的方法:
你可以设置盒子(div)
的尺寸与图片大小相同,
如果是不可能的,
使用sprite
外边距(
例如:
sprite-margin-bottom
)
里创建一些空白区域,
这样,
左边和右边的图片就不会显示出来了.
3.
在
sprites
中
,
重复的图片不重复了
,
是否是一个
bug?
图片水平平铺
(
background-repeat: repeat-x
)
需要增加一个垂直布局的
sprite(
sprite-layout: vertical
),
图片垂直平铺
(
background-repeat: repeat-x
)
需要在一个水平布局的
sprite(
sprite-layout: horizontal
)
中
,
没有其他的方式解决这个问题
,
因此在
SmartSprites
中,sprite
image
有两种布局方式.
<!-- [if !supportLists]-->4.
<!-- [endif]-->是否有一些使用
SmartsSprites
的大的示例我可以看一看?
是的,
看一下
test/ real-world-example
路径下分布的目录,
这是我工作中的一份原始设计,
然后产生了
SmartSprites
这个点子.
5.
SmartSprites
是否有一些教程? Yes,
你可以在
references section
找到他们.
6.
我有发现一些bug,
我怎么提交这些bug
呢,
请使用我们的issue tracker
.
7.
你会计划在
SmartSprites
中增加一些新的功能吗?yes,
请在
road map
中看我们的更多信息.
Version history
V0.2.4
,
发布日期:2009 9
月, took 28 hours of work
·
从sprites
中除去了重复的图片(SMARTSPRITES-18
, 3 votes)
·
支持对指定的个别css
文件做处理
(SMARTSPRITES-37
)
·
Bugfix: SMARTSPRITES-42
·
Bugfix: SMARTSPRITES-45
·
Google Collections JAR updated to version
1.0-rc2
V0.2.3
,
发布日期:2009 4
月
·
Bugfix: SMARTSPRITES-31
·
Bugfix: SMARTSPRITES-32
·
CSS
file encoding parameter
added (SMARTSPRITES-33
) (
增加对选择css
文件编码的支持)
分享到:
相关推荐
SmartSprites完全自动维护设计中CSS Sprite。 添加或更改拼接图像时,无需繁琐的复制和粘贴到CSS。快速开始下载SmartSprites二进制文件跑: smartsprites --root-dir-path test/real-world-example在+ test / real-...
你改变了一些东西,它改变了整个版本重新编译的 smartsprites 可以在与 google-collections 稳定版本没有冲突的情况下工作您可以忽略基于正则表达式的资源,以免被类似的东西缩小代码: uiperformance....
基于springboot大学生就业信息管理系统源码数据库文档.zip
基于java的驾校收支管理可视化平台的开题报告
时间序列 原木 间隔5秒钟 20241120
毕业设计&课设_基于 Vue 的电影在线预订与管理系统:后台 Java(SSM)代码,为毕业设计项目.zip
基于springboot课件通中小学教学课件共享平台源码数据库文档.zip
基于java的网上购物商城的开题报告
Delphi人脸检测与识别Demo1fdef-main.zip
基于java的咖啡在线销售系统的开题报告
基于java的自助医疗服务系统的开题报告.docx
内容概要:本文档全面介绍了Visual Basic(VB)编程语言的基础知识和高级应用。首先概述了VB的基本特性和开发环境,随后详细讲述了VB的数据类型、变量、运算符、控制结构、数组、过程与函数、变量作用域等内容。接着介绍了窗体设计、控件使用、菜单与工具栏的设计,文件操作、数据库访问等关键知识点。最后讨论了VB的学习方法、发展历史及其在桌面应用、Web应用、数据库应用、游戏开发和自动化脚本编写等领域的广泛应用前景。 适合人群:初学者和中级程序员,尤其是希望快速掌握Windows桌面应用开发的人群。 使用场景及目标:①掌握VB的基础语法和开发环境;②学会使用VB创建复杂的用户界面和功能完整的应用程序;③理解数据库操作、文件管理和网络编程等高级主题。 其他说明:Visual Basic是一种简单易学且功能强大的编程语言,尤其适合用于开发Windows桌面应用。文中不仅覆盖了基础知识,还包括了大量的实用案例和技术细节,帮助读者快速提升编程技能。
基于java的疫情期间高校防控系统开题报告.docx
基于springboot+vue社区老年人帮扶系统源码数据库文档.zip
基于java的超市商品管理系统的开题报告.docx
基于SpringBoot房屋买卖平台源码数据库文档.zip
xdu限通院23微处理器系统与应用大作业(两只老虎),适应于汇编语言keil软件,
<项目介绍> - 新闻类网站系统,基于SSM(Spring、Spring MVC、MyBatis)+MySQL开发,高分成品毕业设计,附带往届论文 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
基于java的学生网上请假系统的开题报告.docx
社会经济繁荣发展的今天,电子商务得到了飞速发展,网上交易越来越彰显出其独特的优越性,在人们的日常生活中,出现了各种类型的交易网站。其中一个就是车辆易主交易网站,它是一个服务于用户买卖二手车辆的交易网站,为用户提供了平等互利、方便快捷的网上交易平台,通过这一类型的网站,用户可自由出售和购买车辆。 本课题主要根据车辆本身的特性,充分发挥互联网的特点与优势,构建一个以二手车辆为商品、基于互联网平台的车辆易主业务交易管理系统,并根据车辆易主业务交易管理系统的应用需求,进行需求分析,进而对网站系统作规划设计。采用IDEA为运行平台,以SSH为框架,运用HTML语言、JSP技术、MySql数据库、JSP与后台数据库链接等关键技术建设二手车网上交易系统,构建车辆易主交易系统的会员注册与登录,网站首页展示、用户发布商品车辆,用户求购商品车辆,分页浏览、购物系统、用户后台管理、管理员用户后台管理等功能,并使这些功能得以实现并更好为用户服务。网站整体构建完成且测试成功后,用户可以进入网站进行注册、登录,登录后,用户可以在网站上发布自己的闲置车辆或者寻找想要购买的车辆,还可以收藏车辆,管理发布和收藏的车辆,