导航:首页 > 万维百科 > 网页设计sprite

网页设计sprite

发布时间:2021-03-26 21:35:14

1、图片精灵(image sprite)什么意思?

网页设计里的一种图片形式。秒秒学课程里有详细介绍过,可以解释为“图像拼合”,意思是将许多小图拼合成一张整图,从而在浏览器上达到快速传输并呈现内容的目的。当网页上要显现其中一张小图时,就引用整张图片,通过CSS代码设定X、Y坐标到这个小图上。如果想了解的更多,可以去秒秒学看看。

2、css sprite有什么缺点?

二、csssprite 的优缺点
优点:1.减少了网页的http的请求,提高了网页性能。原理很简单,没有运用csssprite这种技术时,网页可能要加载十二个icons,但当运用了这种技术之后,十二个icons全部放在一个background-image内了。当我们加载网页的时候就只需要加载一个background-image就可以了。
2.” CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。“——源自<博客园>的“沫鱼的前端世界”。
缺点:1.首先一点是维护麻烦,当我们需要的十二个icons需要换其中几个或者增加或删除几个的时候,可能需要重新排版。当修改的icon与之前的不一致时则更几乎是要重新排版的。所以在这一点上,csssprite并不容易维护。不过一般人们运用这种技术的前提是设计的css盒子能够保证在相当长的一段时间内不会改变的。
2.开发时,在自适应属性下,csssprite可能会因为图片大小等属性的各种原因而导致图片出现断裂情况使得设计的页面效果十分难看。
3.同样是开发时,在设计页面的时候,运用csssprite技术需要用Photoshop去精准的定位到图片的长度,操作不难但是比较繁琐。

3、网页设计师非常有用的几个在线工具

几个网页设计工作中经常会用的在线工具,能够大大的提供工作效率!
ProCSSor

ProCSSor是一个很不错的CSS代码美化工具,它可以轻松的把代码转换成很美观的格式。
jsFiddle

JsFiddle有多种用途,其中一个用法就是可以在线编辑HTML, CSS 和JavaScript片段,而且代码可以分享,还可以嵌入到你的博客中等等。
Frame Box

Frame Box是一个非常好用的用于在线分享线框图(wireframes)的工具。
Spritebox

Spritebox是一个所见即所得的工具,帮助Web设计者迅速而轻松地从一张精灵图片(CSS Sprit Image)创建CSS类和ID选择符样式。这里涉及到一项技术叫CSS Sprites,在国内很多人叫CSS精灵,它是的基本原理是使用CSS的背景系列属性的组合进行背景图片的精确定位。
CSS3 Generator

这是一个简单的跨浏览器CSS3样式生成器,可以生成你想要的任何值。
Super Conversion Button

这个工具可以帮助你瞬间生成一个美观的试用(Try it now)按钮。
wordmark.it

这个工具之前曾介绍过,可以帮助你直观的查看当前电脑上安装了哪些字体。
0 to 255

4、CSS sprites 的样式生成工具哪里有

CSS sprites
在线生成工具就有好多
csssprites.com, Sprite Cow, Sprits Pad都是不错的选择
当然专业的设计师喜欢用Photoshop

5、网页设计时将大图进行切片有必要吗,真能提高图片显示时间吗?

切片的作用在于让一部分图片下载后立即显示,其他的慢慢下载,如果图片太大,在下载过程中容易卡住。
一般50k一部分就可以。

6、html 网页制作 如何设置网页背景色

首先打开电脑上自带的记事本程序,然后输入html网页基本结构语句。<html><body></body></html>

由于css样式必须在标签<head></head>之间,因此我们点击<html>后面,输入<head></head>标签。

在head标签之间输入样式标签<style></style>,然后定义一些属性,例如

<style type="text/css">

body {background-color: yellow} 定义网页背景色为黄色;

h1 {background-color: #00ff00} 定义h1标签背景色为#00ff00;

h2 {background-color: transparent} 定义h2标签背景色为透明;

p {background-color: rgb(250,0,255)} 定义p标签背景色为rgb值;

p.no2 {background-color: gray; padding: 20px;} 这个定义class属性为no2的p标签背景色为灰色,并且边距为20px;

</style>

然后点击body标签后面输入正文标签内容,例如

<h1>这是KING</h1>

<h2>这是KING</h2>

<p>这是KING</p>

<p class="no2">这个KING设置20内边距。</p>

点击记事本菜单中的文件,选择另存为,把内容保存为html网页格式。双击打开预览效果。

我们可以发现代码中两个同样的<p>标签显示的css样式却不同,区别就在于样式中定义的p.no2,这就是正文代码中class="no2"的优势所在,可以定义个性风格。

7、网页制作和网站制作有什么区别?

Web前端开发技术主要包括三个要素:HTML、CSS和JavaScript!

它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。


那么我们应该怎么学习web前端开发这门技术呢 ?

现在很多小伙伴喜欢在互联网上找视频资料学习网页制作,但是光看视频你是不可能学会网页制作的,没有人指导你,而且很多视频已经过时了 ,并没有什么用!  如果你真的想学习网页制作这门技术,你可以来这个裙,前面是6 5 7,中间是I 三 柒,最后是九 零 6! 在这里有最新的HTML课程 免费学习 也有很多人指导你进步,不需要你付出什么,只要你是真心想学习的,随便看看的就不要加了,加了也是浪费大家的时间 。


随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及带来的诸如:Flash/Flex,Silverlight、XML和服务器端语言(PHP、.NET,JSP、Python)等语言,前端开发工程师也需要掌握。

前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。

HTML 甚至不是一门语言,他仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言。当然可以勉强算作弱类型语言。Javascript 的基础部分相对来说不难,入手还算快。


也正因为如此,前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习曲线越来越陡峭,每前进一步都很难。

Web前端技术有一些江湖气,知识点过于琐碎,技术价值观的博弈也难分伯仲,即全局的系统的知识结构并未成体系,这些因素也客观上影响了“正统“前端技术的沉淀!而且各种“奇技淫巧”被滥用,前端技术知识的传承也过于泛泛,新人难看清时局把握主次。因此,前端技术领域,为自己觅得一个靠谱的师兄,重要性要盖过项目、团队、公司、甚至薪水。

另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。总有新的灵感和技术不时闪现出来,例如CSS sprite、负边距布局、栅格布局等;各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。

随着手持设备的迅猛发展,带动了 HTML5行业标准的快速发展。web领域的技术,大概有10年都没有大的更新了!现在市场很需要优秀的、高级的前端工程师。一方面是因为这是一个比较新的细分行业,而且前端程序员大都自学一部分,知识结构不系统;另一方面,大学里面没有这种课程。


8、css sprite 坐标定位为何为负以及定位方法

说说原理先:
CSS
Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-
repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。

1234代码:div{ background:#FFF url(image) no-repeat fixed x y;}

这里的background的属性值依次为:

#FFF 背景色:(颜色值,背景图片没有覆盖的地方,或者没有背景图片时表现的背景色)
image 背景图片:(这里是图片的地址)
no-repeat 是否重复:(图片小于容器的大小时,默认会重复排列图片以填满容器,no-repeat表示不重复,只有这个时候后面的定位坐标才有用。)
fixed 背景是否随容器滚动:(有两个可选值,scroll滚动,fixed不滚动,默认是scroll)
x y 背景图像的定位:(注意,只有在no-repeat下定位才有意义。这个就是今天要讲的重点)

理解点---在于 background-position的属性值:
1、两个值前面一个是横向的定位,我们称为x轴方向定位。后面一个值是纵向的定位,我们称为y轴方向定位。如果只有一个值,那默认的就是x轴方向,这时y轴方向就默认的是上下居中对齐,也就是center。
2、坐标轴的原点就是对应容器的左顶点。
3、这个坐标的y轴箭头朝下,也就是右下方(容器内部)x y的值才都为正。
4、x y值分别表示背景图片的左顶点相对于坐标原点(也就是容器的左顶点)的值。
5、x y的值可以用百分比或者px来表示。
6、x y也可以用“left、right、top、bottom、center”这五个对齐方式来表示,但注意:用“left、right、top、bottom、center”来表示的时候,应用的是对齐规则,而不是坐标规则。x为left是表示图片的左边和容器的左边对齐,为right的时候表示图片的右边和容器的右边对其,y为top的时候表示图片的顶部和容器的顶部对齐,为bottom时表示图片的底部和容器的底部对齐,x y等于center的时候表示居中对齐。
7、x y用百分比或者px表示的时候,其值可以为负数。我们应用坐标规则就很容易理解负数表示的意义,x为负数时候表示图片左顶点在容器左顶点的左侧,y为负数时表示图片的左顶点在容器的左定点的上方。也就是向左和向上超出容器的范围。

1234代码:background:#FFF url(image) no-repeat fixed 50% -30%;

当为百分数时候:
左顶点距容器左顶点的坐标位置为
x:(容器的宽度-图片的宽度)x50%
y:(容器的高度-图片的高度)x(-30%)
CSS Sprites优点

利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。

CSS Sprites缺点

诚然CSS Sprites是如此的强大,但是也存在一些不可忽视的缺点
在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内不会出现不必要的背景;这些还好,最痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;
CSS
Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐;幸还好有CSS
Sprites 样式生成工具,虽然还有一些使用上的不灵活,但是已经比photoshop测量来的方便多了,而且样式直接生成,复制,拷贝就OK!

CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无需改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,又只能(最好)往下加图片,这样图片的字节就增加了,还要改动css。

CSS Sprites非常值得学习和应用,特别是页面有一堆ico(图标)。总之很多时候大家要权衡一下利弊,再决定是不是应用CSS Sprites。
图片优化

1. 对于非动画的GIF更建议使用PNG8因为它同样能做到一样的效果,而且能为你节省10%-30%的文件体积。
2. Photoshop相比起Fireworks,导出同等质量的PNG图片,体积会稍大。而Fireworks虽然做了相应压缩优化,但没有达到最优秀的压缩。
3. 我所知的设计软件,对于PNG图片的处理都没做到最优秀的压缩,图片体积还有一定的压缩空间。可以尝试使用下面介绍的”图像优化工具” 做无失真的压缩优化。
4. 图片体积及尺寸方面,建议体积保持在100K以内(较为符合国情最佳请求SIZE),size为800px(最佳尺寸)。(从某权威人事中得知,具体无从考证)

CSS Sprites图片切割术

1. CSS Sprites图片顺序合图片由上至下、左至右添加。而background-position一般采用数字组合形式定位,这样能减少维护带来的不必要麻烦。
2. 不建议CSS Sprites图片中保持一定的间距,因为文件size增大而增加文件体积。
3. CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。
4. size相同的CSS Sprites图片中留有较大空隙,某程度上多数情况会增大了体积,所以CSS Sprites的图片不要有空隙。
5. 在size相同的CSS Sprites图片中,垂直排列的图片会比水平排列的文件体积要大。
6. 在CSS Sprites图片中,水平排列的图片会比垂直排列的文件体积要大。
7. 图片对等合并:应用CSS Sprites图片时,适当地把对等相同的图像合并,以节省空间及减少体积。
8. 区分开不需要合并的图像:如当前用户确定只显示一种状态或一个级别时,不必要把其他的级别或状态的图片合并。
9. 黄金切割位:在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon,因此不会受到其它CSS Sprites图片干预,也不需要预留一定的行宽。

补两条
10. 有的说定位时避免使用bottom或right等,当使用CSS sprite的时候,只用background-position:
bottom -300px或background-position: right
-200px;非常容易。这刚开始的时候是可行的,但是问题是,当你在宽度上或高度上扩展相关sprite图片的时候,原先设置的位置可能是错的,因为那个图片已经不再Sprite图片的底部或右部了。使用确切的位置来避免这个问题。

其实我感觉一般情况宽度图不片不会改应变,用RIGHT和 LEFT还是挺方便的,但从整体考虑,升级了。改版的。图片宽度还是有可能会改变的。必竟开始时做太宽也没什么好处,还是浪费很多空间。就是多费点时间去对坐标,最好还是不用RIGHT 和 LEIFT的了。

12 有的说竟给每个图片足够的空间
就像你在本文顶部的实例图片看到的那样,那些小图片都被预留了足够的空间。为什么不把他们塞到一块来让sprite图片更小呢? 因为使用这些图片的元素通常都会有大量的内容而且可能会需要扩展的间距,以至于其它图片不会意外出现。

这个我支持,必竟多空点,也占不不了多大空间,如何要追求完美,那就慢慢调吧。费了劲了。在加上浏览器兼容问题,最好还大多空间。小误差也忽略了。

9、实现css sprites的核心代码是什么

CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。
利用CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。
解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。
更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。
诚然CSS Sprites是如此的强大,但是也存在一些不可忽视的缺点,如下:
在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景;这些还好,最痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;
CSS Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐;幸好腾讯的鬼哥用ADOBE AIR开发了一个CSS Sprites 样式生成工具,虽然还有一些使用上的不灵活,但是已经比photoshop测量来的方便多了,而且样式直接生成,复制,拷贝就OK!
CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无需改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,又只能(最好)往下加图片,这样图片的字节就增加了,还要改动css。
CSS Sprites非常值得学习和应用,特别是页面有一堆ico(图标)。总之很多时候大家要权衡一下利弊,再决定是不是应用CSS Sprites。

--------以上来自网络

与网页设计sprite相关的知识