用CSS控制IE下中英文字体显示对齐
来源:互联网 发布:java方法调用数组 编辑:程序博客网 时间:2024/06/10 04:15
那么疑惑又来了,是什么导致了中英文偏差呢?!解决办法又是什么呢?!于是经过我测试发现两种情况(当然有可能有更多导致的情况。你们可以自己去尝试),当中英文对象的相邻元素拥有vertical-align属性设置(比如前面一张小图片,或者文本框,我们需要把他们垂直对齐,一般都会给图片,文本框(其他任意内联块元素)设置vertical-align:middle;来实现)的时候,那么就会影响到中英文的不对齐。
还有一种情况就是父元素(表格除外)拥有vertical-align属性设置的时候,里面的子元素中英文也会对不齐。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Test</title>
<style type="text/css">
* { margin:0; padding:0; }
html { background:#fff; }
body { position:relative; font:12px/1.6em Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; color:#333; }
</style>
</head>
<body>
<div style="vertical-align:middle;">
<a href="">为什么我老是对不齐呢?why??</a>
</div>
</body>
</html>
怎么解决这个问题呢?!
先说第一种,就是临近元素的vertical-middle导致的无法对齐的偏差问题解决方案:
给中英文对象加一个zoom:1触发它的haslayout,通过研究发现一旦它有了haslayout之后,中英文就不会对不齐。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Test</title>
<style type="text/css">
* { margin:0; padding:0; }
html { background:#fff; }
body { position:relative; font:12px/1.6em Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; color:#333; }
</style>
</head>
<body>
<div>
<a href="" style="zoom:1;">为什么我老是对不齐呢?why??</a>
</div>
</body>
</html>
第二种情况就是父元素的vertical-middle导致的无法对齐的偏差问题解决方案:
给中英文对象加句vertical-align:baseline就可以解决!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Test</title>
<style type="text/css">
* { margin:0; padding:0; }
html { background:#fff; }
body { position:relative; font:12px/1.6em Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; color:#333; }
</style>
</head>
<body>
<div style="vertical-align:middle;">
<a href="" style="vertical-align:baseline;">为什么我老是对不齐呢?why??</a>
</div>
</body>
</html>
但是我们可以看到,下划线好像贴的过紧,这个时候我们依然还需要给它加句zoom:1;触发它的hasLayout来避免过紧贴合!。
<a href="" style="zoom:1;"vertical-align:baseline;">为什么我老是对不齐呢?why??</a>
如果您碰到其他情况的中英文对不齐的情况,那么也可以尝试使用上述两种方法来解决。当然最保险最有效的莫过于就是直接中英文都统一使用宋体- 用CSS控制IE下中英文字体显示对齐
- IE下中英文字体不能对齐原因及解决
- css控制字体长度(用省略号显示)
- css的中英文对齐
- CSS中英文字体族
- CSS中英文字体
- css控制页面在ie和firefox下均居中显示
- Css字体中英文对照表
- mini2440中显示中英文字体
- CSS中英文完美保证两端对齐
- CSS 按钮背景图片显示不出,字体无法控制问题
- CSS控制字体超过容器时显示省略号
- BrushScriptStd字体在IE下无法正常显示问题
- css字体控制
- css 控制字体
- CSS控制字体
- CSS字体中英文名称对照表
- CSS字体中英文名称对照表
- LWUIT相关内容
- 作息时间表
- 搬家了
- group by 中有计算问题的问答整理
- "HiFi发烧"是什么意思?
- 用CSS控制IE下中英文字体显示对齐
- ASP.NET 访问Excel 失败的解决方法(续)
- 淘宝与微软总部达成首次合作 Silverlight加入店铺
- 短信猫发送短信失败原因查找
- ROM、RAM、DRAM、SRAM和FLASH的区别
- UpdateWindow
- 应用系统客户端的打印
- 在使用 ADOQuery 时出现"在对应所需名称或序数的集合中,未找到项目"错误!
- Rails源代码分析(18):ActionController::Caching(2) ActionCache