<ul style="list-style:none;text-decoration:underline;"> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;padding-top:1px;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li></ul>
不明白楼主的意思
写个padding-top:1px 做什么?
To:1楼
看来你并没有尝试一下这段代码。你用IE6.0打开就能明白我写这行的意思了
中间三个是平齐的,第一个和最后一个都比中间三个高出一个像素
我写上那个就是说明英文比中文低1px啊,padding-top:1px把第三个li往下挪了1px才能与旁边对齐
它们之间的位置关系是“- _ _ _ -”,没办法这里不能上传本机图片
<!DOCTYPE HTML><html> <head> <meta charset="gb2312" /> <title></title> <style> </style> </head> <body> <ul style="list-style:none;text-decoration:underline;"> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> </ul> </body></html>
To 4楼:
代码是完整的,没有其他css,直接把所有内容存为*.html即可。
你看看3楼贴出的图,仔细看看就能发现1px高度差
请问你使用的是IE6.0浏览器么?IE6.0.2900.5512
字体弄大了也看不到 楼主?的 高度差
<!DOCTYPE HTML><html> <head> <meta charset="gb2312" /> <title></title> <style> body { font-size:31px; } li { text-decoration:underline; } </style> </head> <body> <ul style="list-style:none;"> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> </ul> </body></html>
刚才测试了半天,还以为出了灵异事件呢,通过反复比对才发现:
即使是完全相同的代码,还必须页面的编码是UTF-8才会出Bug,而GB2312则不出Bug
观察发现这两种编码的英文字体居然还不同,GB2312的英文宽度宽一些。
那么,这样的Bug是什么原因呢?如何在不为其改变编码也不改变页面UI的情况下解决呢?
字符集和字体的问题,你在body里先把网站要使用的字符集和字体定义好。估计你用的是微软雅黑吧。换宋体试试
我没有用微软雅黑,根本就没有其他 任何代码,仅仅是对于li使用了float:left,个完整html代码,直接全部复制,以utf-8存为一个*.html文件就能看到,难道这么多程序员朋友们都未曾遇到过这样情况么?这个代码应该算是很常用的才对啊
验证此Bug的步骤:
1.确认您的IE是6.0的
2.打开记事本
3.将1楼全部内容复制粘贴到记事本
4.菜单->文件->另存为,编码选择UTF-8,扩展名html
5.双击刚才所保存的文件
====
按照以上步骤做,您一定能看到我所说的Bug
求助………
有木有人帮帮我……
没问题吧?4楼给出的代码我这里测试也没问题啊
楼主为什么要吧编码方式改成UIF-8?改成那样是有问题了,但,为什么改成那样呢?
网站本身是UTF-8编码的啊,如果仅仅为了这个问题,就更改整个网站的编码,未免有些因小失大了吧?况且UTF-8才是通用的编码。并且,既然有这样的Bug存在,就应该刨根问底,不能一味的以修改编码的方式回避吧?莫非论坛里的程序员们都是仅仅满足于知其然不知其所以然的?
确实有这个问题,应该是不同编码对 中文 英文解析的基准线 不同造成的。
比如这个
<!DOCTYPE HTML><html> <head> <meta charset="utf-8" /> <title></title> <style> body { font-size:50px; font-family:arial; } li { text-decoration:underline; } </style> </head> <body> <ul style="list-style:none;"> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> </ul> </body></html>
感激涕零啊,总算有个明白人了,只不过可惜的是这些我都看过,刚才也仔细阅读了你提供的帖子,总结出纠正这个问题的方法如下:
1.加属性。有三种说法,zoom:1;vertical-align:baseline;display:inline-block;
但是通过我的尝试,全部无效。
2.修改字体。这个影响太大,不是个好办法。
有没有通过CSS Hack解决这个问题的办法呢?(就是类似方法一的)。
谢谢哦。
楼主很钻研啊。。。
http://gigalens.com/2009-07/webstandards-ie6-typographiy-bug.html
<!DOCTYPE HTML><html> <head> <meta charset="utf-8" /> <title></title> <style> body { font-size:24px; font-family:"宋体"; } li { text-decoration:underline; } </style> </head> <body> <ul style="list-style:none;"> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> <li style="float:left;">English</li> <li style="float:left;">中文</li> </ul> </body></html>
额?看来说来说去还是只有一个结论:“改字体”咯?
哎好吧,那我也只有认命了。
我只不过想写出更为“干净”的代码。