css sprite有什么缺点?

html-css016

css sprite有什么缺点?,第1张

二、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去精准的定位到图片的长度,操作不难但是比较繁琐。

1 、什么是css sprite

css sprite很多人叫css精灵,一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去。当访问页面时,载入的图片就不会一张一张的慢慢显示出来了。12

2、css sprite原理

css sprite其实就是把网页中一些背景图片整合到一张图片文件中,再利用css的background-image,background-repeate,background-position的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。12

3、css sprite 的优点

1.减少http请求次数,极大的提高页面加载速度。

2.增加图片信息重复读,提高压缩比,减少图片大小。

3.更换风格方便,只需在一张或几种图片上修改颜色或样式即可。整个网页的风格就可以改变,维护起来更加方便。1234

4、css sprite的缺点

1.在图片合并时,需要留给足够的空间。在高分辨率的屏幕下的自适应页面,如果图片宽度不够,会造成背景断裂。

2.css sprite需要精确定位出图片的位置,比较繁琐,不够灵活。

3.维护麻烦,修改一个图片可能需要重新布局整个图片,样式。

css2.1中,颜色的表示方法有三种:(1)单词;(2)rgb表示法(十进制表示法);(3)十六进制表示法。

能够用英语单词来表述的颜色,都是简单颜色。

红色:background-color: red

红色:background-color:rgb(255,0,0);

rgb(red、green、blue)表示三原色“红”“绿”“蓝”。光学显示器,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色。

用逗号隔开r,g,b的值,每个值的取值范围是0~255,一共256个值。

如果此项的值是255,那么就说明是纯色:

绿色:background-color:rgb(0,255,0)

蓝色:background-color:rgb(0,0,255)

黑色:background-color:rgb(0,0,0)

白色:background-color:rgb(255,255,255)

颜色可以叠加,比如黄色就是红色和黄色的叠加:

黄色:background-color:rgb(255,255,0)

紫色:background-color:rgb(255,0,255)

青色:background-color:rgb(0,255,255)

红色:background-color:#ff0000;

所有用#开头的值,都是16进制的。

#ff0000(ff表示r,00表示g,00表示b)

16进制表示法和rgb类似,也是两位两位的看,但是没有逗号隔开。

上述红色表示法中:ff就是10进制的255,00就是十进制的0,所以#ff0000相当于(255,0,0)

十六进制对照表:

任何一种十六进制表示法都能够换算成rgb表示法。也就是说,两个表示法能表示的颜色数量一样多,十六进制能够简化成3位,所有#rrggbb的形式,都可以写成#rgb;

比如,上述的红色可以写成background-color:#f00;

但是,如果要采用简化的方法,必须满足rrggbb格式才行。

几个特殊的要记住:

黑:#000

白:#fff

红:#f00

灰:#333

深灰:#222

浅灰:#ccc

background-image属性用于给盒子加上背景图片:

background-image:url(images/1.jpg)

url()表示网址。、

images/1.jpg就是相对路径。

背景会默认循环,平铺满整个盒子,padding的区域也会有背景图。

background-repeat属性用来设置背景图是否重复以及重复方式。

“repeat”表示“重复”。

默认为铺满,不用设置。

不重复:background-repeat:no-repeat;

横向重复:background-repeat:repeat-x;

纵向重复:background-repeat:repeat-y;

background-position:背景定位属性。

格式:background-position:向右移动量(100px) 向下移动量(200px)

向上向左移只需把移动量改成负数即可。

css精灵又叫“css雪碧”技术,是一种css图像拼合技术,该方法是将小图标和图像合并到一张图上,然后利用css背景定位来显示需要显示的图片部分。

css精灵的优点,就是减少了http请求。比如4张小图片,原本需要4个http请求。但是用了css精灵,小图片变为了一张图,http请求只有1个了。

background-position:描述左右的词 描述上下的词;

比如:background-position:right bottom:(右下角)

background-position:center center;(居中)

背景固定属性。

格式:background-attachment:fixed;

背景就会被固定住,不会被滚动条滚走。

background属性和border一样,是一个综合属性:

background:red url(1.jpg) no-repeat 100px 100px fixed;

等价于:

background-color:red;

background-image:url(1.jpg);

background-repeat:no-repeat;

background-position:100px 100px;

background-attachment:fixed;

可以任意省略部分:

background:red;