布拉格

drupal模板设计中在IE下页面出现换行的解决方法[备档]

前几天设计drupal的模板的时候遇到的这个问题,在firefox/opera下完全没有这个问题,但是在IE下却能够看到定位不准确。

每一node的h2标签和正文间总有一个换行..
查看了源代码却没有发现可能导致相关问题的代码,包括没有任何&nbsp引起的空格。

drupal的输出是基于utf8的..数据库是肯定没有问题的,而每一个模板文件都是dreamweaver写的,全部都以是utf8另存的,输出到页面的前台脚本也肯定没有问题。

一直没有想到解决的办法,后来就把theme的相关php文件page.tpl.php另存成了ANSI编码,这样就没有任何问题了。

中间的原因是没有弄明白,直到无意中看到了这篇文章:IE下页面无端端空出一行及utf8页面无法显示的解决方法

记载以做备档:
页面采用UTF8编码,头部和尾部用了模板包含文件的方法,结果头部和尾部无端端各多出一个约10px的空行,什么也没有。

  原因是全部采用utf8编码,包含文件的时候,最后的二进制流中包含了多次UTF8 BOM标记,IE不能正常解析包含多个UTF8 BOM 标记的页面,直接替换成实际显示的回车,这样导致一个空行,而firefox却没有这个问题。

  故如果模板采用包含的方法包含多个utf8文件需要用ultraedit保存时另存为功能 选择utf8 无bom格式保存即可。

  另外,如果中文页面在html head标记中将title标记放在<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />前面会导致页面空白。

  所以utf8页面应该使用标准顺序
<meta http-equiv="content-type" content="text/html; charset=UTF-8″ />
<meta http-equiv="content-language" content="zh-CN" />
<meta name="robots" content="index,follow" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="rating" content="general" />
<meta name="author" content="" />
<meta name="copyright" content="" />
<meta name="generator" content="" />
<title></title>

Tag:

Comments

看不懂,头痛

还没有遇到过这个情况,我知道drupal里面很多的theme都是用的ANSI编码保存的啊。
也没有遇到这个问题

还没设计过这东东呢..有一点难上手。

虽然还没有遇到过。
还是先收藏一下吧。

drupalchina上还没有转此文啊。
evance介意不介意我帮你转过去啊?

专业性很强,看不太懂啊。

顶一下,drupal高手。