IE 的中英文不对齐的问题非常令人恼火。现在就和大家分享一下我找到的问题原因和解决办法。
(一)当中英文对象的相邻元素加有vertical-align属性时。
原因分析:一般的按钮文字前面会带有一个小图片,图片、文本框和文字放在一起时,垂直方向会不对齐,我们会加上vertical-align:middle来使它们垂直对齐。这时,会出现不对齐的现象。
解决办法:触发中英文对象的haslayout,也就是给其加上zoom:1或者display:inline-block等可以触发hasLayout的属性。
(二)当中英文对象的父元素加有vertical-align属性时。
解决办法:触发中英文对象的haslayout,再给中英文对象加上vertical-align:baseline即可。
(三)当中英文对象默认使用英文字体,并使用li做float时。
原因分析:中英文的文字基线不同。当默认使用英文字体时,中英文混合对象的英文会使用你指定的字体,而中文会使用浏览器默认的中文字体。例如:Arial字体下边缘要比宋体(同为12号)低一个象素,上边缘比宋体矮两个象素。这样就会让float的垂直位置严重偏移。
解决办法:英文用Arial字体,中文用宋体(font-family:arial,宋体;)。再给中英文对象上加line-height:1.231属性。
|