CSS精灵技术起源很早,IE8以前比较流行,早些年因为没有云服务器和CDN技术,前端有必要优化一下图片读取效率和优化请求的问题
现在CDN横行的时代,CSS精灵技术已经淘汰了,因为这已经不属于前端主要解决的问题了,当然你以后走的是小前端路线,研究一下还是可以的。大前端的话 这种事儿直接就交给CDN了
1 、什么是css spritecss 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;