你的位置:首页 > 网页设计

[网页设计]关于IE6的一些常见的CSS BUG处理


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属性值时,上下边界的属性值重合,左右相加;