一、关于IE低版本常见的bug以及hack
1)图片边框有BUG
当图片加<a href="#"></a>在IE上会出现边框
Hack:给图片加border:0;或者border:0 none;
img{ border:0; display:block; }
2)图片间隙
div中的图片间隙bug,在div中插入图片时,图片会将div下方撑大大约三像素。
hack 1:将</div>与<img>写在一行上;
hack 2:将<img>转为块状元素,给<img>添加声明:display:block;
3)双倍浮向(双倍边距)(只有IE6会出现)
当ie6及更低版本浏览器在解析浮动元素时,会错误地把浮向边边界加倍显示。
hack:给浮动元素添加声明:display:inline;
4)默认高度(IE6、IE7)
在IE6及以下版本中,部分块元素拥有默认高度(16px)
hack 1:给元素添加声明:font-size:0;
hack 2:给元素添加声明:overflow:hidden;
二、非IE浏览器的BUG以及HACK
5)表单元素对齐不一致
表单元素行高对齐方式不一致
hack:给表单元素添加声明:float:left;
6)按钮元素默认大小不一
各浏览器中按钮元素大小不一致
hack 1:统一大小(用a标签标记)
hack 2:input外边套一个标签,在整个标签里写按钮的样式,把input的边框去掉。
hack 3:如果这个按钮是一个图片,直接把图片作为按钮的背景图即可
7)鼠标指针bug
cursor属性的hand属性值只有在IE9以下浏览器识别,其他浏览器不识别该声明,cursor属性的pointer属性值IE6以上版本及其他内核浏览器都识别改声明
hack:如统一某元素鼠标指针形状为手型
应添加声明:cursor:pointer
cursor:auto 默认/crosshair 加号/text 文本/wait 等待/help 帮助/progress 过程/inherit 继承/move 移动/ne-resize 向上或向右移动/pointer 手型
8)透明属性
兼容其他浏览器的写法 opacity:value;(value的取值范围0-1;)
IE浏览器的写法:filter:alpha(opacity=value);取值范围1-100