HTML5网页设计

html_css

IE下中英文字体下划线不能对齐问题解决

时间:2011-12-21 00:08来自:未知作者:秩名点击:
在IE下当一行文字同时有英文跟中文的时候,出现链接下划线就会发生折行,也就表示这个时候中英文是没有对齐的!(FIREFOX不受此问题影响),但是经过测试,默认的直接在页面里设置链接的时候是不会出现这个情况。 是什么导致了中英文偏差呢?

在IE下当一行文字同时有英文跟中文的时候,出现链接下划线就会发生折行,也就表示这个时候中英文是没有对齐的!(FIREFOX不受此问题影响),但是经过测试,默认的直接在页面里设置链接的时候是不会出现这个情况。

是什么导致了中英文偏差呢?解决办法又是什么呢?于是经过测试发现两种情况(当然有可能有更多导致的情况。你们可以自己去尝试),当中英文对象的相邻元素拥有vertical-align属性设置(比如前面一张小图片,或者文本框,需要把他们垂直对齐,一般都会给图片,文本框(其他任意内联块元素)设置vertical-align:middle;来实现)的时候,那么就会影响到中英文的不对齐。

还有一种情况就是父元素(表格除外)拥有vertical-align属性设置的时候,里面的子元素中英文也会对不齐。

解决办法:

第一种,就是临近元素的vertical-middle属性导致下划线无法对齐的偏差问题解决办法:

给中英文对象样式添加一个zoom:1;触发它的haslayout,通过研究发现一旦它有了haslayout之后,中英文就不会对不齐了。

第二种情况就是父元素的vertical-middle导致的下划线无法对齐的偏差问题解决办法:

给中英文对象添加样式vertical-align:baseline;就可以解决!

但是这样下划线好像贴的过紧,这个时候我们依然还需要给它加句zoom:1;来触发它的hasLayout来避免下划线过紧贴合。

当前文章地址:http://www.shejicool.com/web/html_css/310.html

阅完本篇文章?您还可以: 收藏本文 文章挑错 朋友推荐