CSS BUG:样式在各浏览器中解析不一致的情况,或者说CSS样式在浏览器中不能正确显示的问题称为CSS BUG;
CSS Hack:css hack是指一种兼容css 在不同浏览器中正确显示的技巧方法,因他们都属于个人对css代码的非官方的修改,或非官方的补丁。
使用Hack的一些副作用:降低了css代码的可读性,增加了代码的负担
今天跟大家分享下关于IE6一些常见的BUG处理:
(1)图片间隙:
a)div中的图片间隙(该BUG出现在IE6及更低版本中)
描述:在div中插入图片时,图片会将div下方撑大三像素;
hack1:将<div>与<img>写在一行上;
hack2:将<img>转为块状元素,给<img>添加声明:display:block;
b)dt,li中图片间隙(IE6)
hack:添加声明:display:block;overflow:hidden;
(2)默认高度(IE6)
描述:在IE6及以下版本中,部分块元素拥有默认高度(低于18px-22px高度)
hack1:给元素添加声明:font-size:0;
hack2:给元素添加声明:overflow:hidden;
(3)双倍浮向(双倍边距)
描述:当IE6及更低版本浏览器在解析浮动元素时,会错误地把浮向边边界加倍显示。
hack:给浮动元素添加声明:display:inline;
(4)百分比BUG
描述:在IE6及以下版本中在解析百分比时,会按四舍五入方式计算从而导致50%加50%大于100%的情况;
hack:给右面的浮动元素添加声明clear:right;(清除右浮动)
(5)鼠标指针
描述:Cursor属性的hand属性值只有IE8以下浏览器识别,其他浏览器不识别该声明。Cursor属性的pointer属性值IE6及以上版本及其他内核浏览器都识别该声明。
hack:如统一某元素鼠标指针为手型,应添加声明:Cursor:pointer;
(6)表单行高不一致
描述:表单元素行高不一致;
hack:给表单元素添加声明:float:left;
(7)按钮元素默认大小不一致
描述:各浏览器中按钮元素大小不一致。
hack1:统一大小/(用a标记模拟);
hack2:input外套一个标签,在这个标签里写按钮的样式,把input的边框和背景色去掉;
hack3:如果按钮是图片,直接把图片作为按钮背景;
(8)浏览器解析按钮边框时,会把边框解析在按钮内部,不会影响按钮的大小。
(9)浏览器解析margin属性值时,上下边界的属性值重合,左右相加;