10精灵图 兼容性问题 常见的css bug

10精灵图 兼容性问题 常见的css bug

一、精灵图

精灵图

由多张小图构成的一张图案,英文名是sprite,又称雪碧图

实现步骤

实现一个指定大小的盒子,来装图片
将精灵图设置为盒子的背景
通过background-position调整背景图的位置

精灵图的核心技术就是background-position

优点

- 减少访问次数
- 占用内存少
- 文件数量少,减少命名

缺点

- 步骤繁琐
- 增删图标

二、兼容性

兼容性

同一个页面在不同的浏览器或者版本里面显示的效果不一致

处理兼容性问题的方法

css3-私有前缀

代表浏览器		前缀		浏览器内核
欧朋			-o-			oersto
IE			 -ms-	 	 trident
火狐			-moz-		gecko
谷歌、safari	-webkit		webkit

三、常见的css bug

图片3px问题

- 给图片设置垂直对齐
	vertical-align:top;
	vertical-align:middle;
	vertical-align:bottom;

行内块元素与元素之间会有空白

- 给元素设置浮动
	float:left;
	float:right;

- 去掉元素之间的空白和换行

表单元素在垂直方向上没有对齐

- 给元素设置浮动
	float:left;
	float:right;

- 给元素设置处置对齐
	vertical-align:top;
	vertical-align:middle;
	vertical-align:bottom;

图片被a包裹后,在低版本浏览器会有边框

- 给图片设置
	border:0;

图片是png-24格式的,在低版本浏览器显示成不透明的效果

- 将图片保存为png-8格式

- 将图片保存为gif格式

鼠标为手型的时候,在高版本只认识pointer

- 同时将低版本很高版本能识别的代码都写上
	cursor:hand;
	cursor:pointer;

子元素设置垂直方向的外边距,会把外边距作用在父元素身上(margin粘连问题)

- 给父元素设置一个透明边框
	border:1px solid transprant;

- 给父元素设置超出隐藏
	overflow:hidden;

- 给父元素设置padding来调节父元素与子元素之间的间隙
	padding会撑大盒子
上一篇:js精确计算


下一篇:如何设置文字与图片同排同行