IE下中英文字体不能对齐原因及解决

作者:yhz7155 来源:蓝色理想 时间:2008-08-11 12:47:00 

如果不是因为总监审查严格,一定要求这个细节解决掉,也许我也不会去深究根源性的解决办法,再此感谢MTIME负责而严格的同事。

首先描述一下问题:

如果所示,在IE下当一行文字同时有英文跟中文的时候,链接下划线就会发生折行,也就表示这个时候中英文是没有对齐的!(FIREFOX不受此问题影响)

但是经过测试,默认的直接在页面里设置链接的时候是不会出现这个情况的!


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

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


怎么解决这个问题呢?!

先说第一种,就是临近元素的vertical-middle导致的无法对齐的偏差问题解决方案:

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


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

给中英文对象加句vertical-align:baseline就可以解决!


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


如果您碰到其他情况的中英文对不齐的情况,那么也可以尝试使用上述两种方法来解决。当然最保险最有效的莫过于就是直接中英文都统一使用宋体。

标签:字体,英文,IE,浏览器
0
投稿

猜你喜欢

  • Oracle 数据库自动存储管理-安装配置

    2009-05-24 19:15:00
  • 基于jQuery的自动完成插件

    2011-02-05 10:55:00
  • asp如何准确获知对方来访问的时间和URL?

    2010-07-07 12:25:00
  • PHP+MYSQL不恶补十句话

    2009-12-02 10:09:00
  • 简单代码屏蔽超级链接虚线框

    2008-02-03 11:34:00
  • ASP调用数据库常见错误的解决

    2007-09-07 10:05:00
  • chr()函数参照表 chr13 chr10 chr34

    2009-09-03 13:22:00
  • 在 CSS 中关于字体处理效果的思考

    2008-04-25 22:57:00
  • ASP程序员面试题

    2011-09-15 20:51:20
  • 实用技巧:优化SQL Server数据库查询方法

    2009-02-04 13:46:00
  • XML的语法、结构以及相关的一些技术

    2007-10-23 07:27:00
  • 利用css的clear属性搞定广告文字环绕效果

    2008-05-24 13:48:00
  • js字放大效果

    2010-09-07 12:18:00
  • 主流浏览器性能比较

    2009-10-19 14:34:00
  • PL/SQL数据类型及操作符

    2009-02-26 11:17:00
  • Oracle 数据库 临时数据的处理方法

    2009-07-02 11:48:00
  • MSSQL中递归SQL查询语句实例说明-

    2011-09-30 11:42:43
  • ASP 精华源码收集(五年总结)第1/20页

    2011-04-07 11:15:00
  • getWindow与isWindow

    2009-12-28 13:12:00
  • 页面重构中的模块化思维

    2009-06-28 15:36:00
  • asp之家 网络编程 m.aspxhome.com