昨天晚上一不小心被IE折磨惨了,明明在*.htm中显示非常完美的HTML代码,原样放入*.aspx文件中后,就完全歇菜啦!俺把doctype也折腾了个遍,还是丝毫不得要领。难道是传说中的rpwt?! 如果您有任何讲解和建议,请不吝赐教。
为了突出问题,我就做一个简化了的示例来表示。看如下html代码(其实超级简单,当然也正是越简单才能越说明问题,同时也就越郁闷):
就这个html代码片断,当我以不同的文件扩展名存储在服务器上,并用IE6访问时,居然得到完全不同的效果,下图分别是htm、aspx和asp三种类型文件显示的结果:
看出来*.aspx文件的问题了吗?html代码完全相同的三个文件,只有文件的扩展名不相同,用IE6访问,结果*.aspx文件中对于英文字体的显示和*.htm或*.asp不尽相同。在Tahoma这个字体下,英文内容的那个表格莫名其妙的别的表格矮了2px("abc" dropped 2px)。
想了很久又反复试验了很多文档设置参数,依然不能让IE自身解决掉这个问题。最后实在是没办法了,使用添加外层的容器的方式,总算是勉强修正了*.aspx文件中显示纯英文容表格高度不足的问题。就是在table元素外添加div容器,然后让table高度为100%,代码示例为:
问题貌视是解决了,可是为什么*.aspx文件在IE中就会特殊呢???
软件环境:
1、Windows XP SP2 en, IE6 + SP1
为了突出问题,我就做一个简化了的示例来表示。看如下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 >
< 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 >
< 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://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。