您的位置:首页 > Web前端 > HTML

IE解析完全相同html代码的不同表现

2006-06-04 20:46 459 查看
昨天晚上一不小心被IE折磨惨了,明明在*.htm中显示非常完美的HTML代码,原样放入*.aspx文件中后,就完全歇菜啦!俺把doctype也折腾了个遍,还是丝毫不得要领。难道是传说中的rpwt?! 如果您有任何讲解和建议,请不吝赐教。

为了突出问题,我就做一个简化了的示例来表示。看如下html代码(其实超级简单,当然也正是越简单才能越说明问题,同时也就越郁闷):


<table border="1" style="display: inline;">


<tr>


<td>


<span style="font-family: Tahoma;">abc</span></td>


</tr>


</table>


<table border="1" style="display: inline;">


<tr>


<td>


<span style="font-family: Tahoma;">一二三</span></td>


</tr>


</table>


<table border="1" style="display: inline;">


<tr>


<td>


<span style="font-family: Tahoma;">一二三abc</span></td>


</tr>


</table>

就这个html代码片断,当我以不同的文件扩展名存储在服务器上,并用IE6访问时,居然得到完全不同的效果,下图分别是htm、aspx和asp三种类型文件显示的结果:



看出来*.aspx文件的问题了吗?html代码完全相同的三个文件,只有文件的扩展名不相同,用IE6访问,结果*.aspx文件中对于英文字体的显示和*.htm或*.asp不尽相同。在Tahoma这个字体下,英文内容的那个表格莫名其妙的别的表格矮了2px("abc" dropped 2px)。

想了很久又反复试验了很多文档设置参数,依然不能让IE自身解决掉这个问题。最后实在是没办法了,使用添加外层的容器的方式,总算是勉强修正了*.aspx文件中显示纯英文容表格高度不足的问题。就是在table元素外添加div容器,然后让table高度为100%,代码示例为:


<div style="height: 1px;">


<table border="1" style="display: inline;" height="100%">


<tr>


<td>


<span style="font-family: Tahoma;">abc</span></td>


</tr>


</table>


<table border="1" style="display: inline;" height="100%">


<tr>


<td>


<span style="font-family: Tahoma;">一二三</span></td>


</tr>


</table>


<table border="1" style="display: inline;" height="100%">


<tr>


<td>


<span style="font-family: Tahoma;">一二三abc</span></td>


</tr>


</table>


</div>

问题貌视是解决了,可是为什么*.aspx文件在IE中就会特殊呢???

软件环境:
1、Windows XP SP2 en, IE6 + SP1
2、Windows 2003 SP1 en, IE6 + SP1

http://birdshome.cnblogs.com/archive/2006/05/23/htmaspxasp.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: