Archive

Posts Tagged ‘’

解决IE6与IE7中的按钮多出1px的内边框问题

5月 9th, 2009

[参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2 ]
[操作系统:Windows]

自古多情空余恨——这话太适合形容我此时此刻的心情,IE6/IE7这俩自作多情的浏览器经常让我愤恨不已。
这故事、这bug是这样的:

默认的按钮我不爱它,所以我想给它一个我觉得漂亮的背景,但是长度又不一致,所以就加个border,然后弄个可以repeat-x的background-image。
结果:IE6/IE7出现了1px的白色内边框。

提示:你可以先修改部分代码再运行。

^-^ 改变了一下body的背景,发现原来这个内边框其实不是白色的,而是透明的。

提示:你可以先修改部分代码再运行。

唔,幸亏是透明的,于是解决方案很快就找到啦:

提示:你可以先修改部分代码再运行。

Chomo xhtml+css , , , ,

按钮兼容性解决方案

4月 4th, 2009

[参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2 ]
[操作系统:Windows]

我想,如果css界也有猪坚强的话,那一定非各位表单元素莫属,不仅仅是IE浏览器,Firefox、Safari等都将给我们造成一系列的麻烦。

按钮的问题非常多,我们很难一一都进行解决,所以相对较好的办法,就是保证其在浏览器中高度、宽度上不会有太大差异,文字在按钮中显示基本正常就可以了:

提示:你可以先修改部分代码再运行。

当然,很多情况下,我们需要有更多的考虑,这时,我们便需要借助hack来完善:

提示:你可以先修改部分代码再运行。

PS.该方法在IE8中文字偏上的问题暂未解决,IE8对中文的支持实在让人失望。

【附注】目前已知的按钮存在的主要问题:

  1. IE6/IE7中:根据内容的多少将自动产生一定程度类似padding-left与padding-right的值。
  2. IE6/IE7中:会在紧贴边框的位置产生1px的与背景相同的内边框。
  3. IE6/IE7/IE8中:默认情况下会在其本身上下产生莫名其妙的外边距(类似margin)。
  4. IE6/IE7/IE8/FF3中:文字在按钮中的垂直位置混乱。
  5. IE8中:如果设置某些英文字体(如Arial),纯中文按钮与非纯中文按钮在垂直方向上便不再自动对齐。
  6. IE6中:按钮中的文字将受到vertical-align属性的影响。
  7. IE7中:字符集如果是gb系列(如gb2312),同时vertical-align:middle,则会产生莫名其妙的外边距(类似margin)。

[2009-04-14 已修复IE8中文字偏上的错误,方法请参见小字体小行高兼容性分析及差异解决办法]

提示:你可以先修改部分代码再运行。

Chomo xhtml+css , ,