4当前位置:网页制作HTML教程网页头部多出一行空白甚至样式错…
4网页制作分类
CSS | HTML
FrontPage | DreamWeaver
JavaScript | ASP
.Net | PHP
JSP | XML
数据库 | PhotoShop
FireWorks | Flash
视频 | 其它
4赞助商链接
4最新网页制作
·link标签media参数的含义小结
·让IE完美支持HTML5/CSS3的方法
·让网站支持老版本IE浏览器的3种解决方法
·网页头部多出一行空白甚至样式错乱等问题的分析
·HTML5大潮已袭来,HTML5曲折的发展之路
·漂亮的DIV+CSS+JQUERY网站后台模板
·HTML4和HTML5之间的10个主要不同之处
·简述html的3种列表ul、ol、dl
·适合网站后台的Popup Menu
·IE6中出现"文字自动重复"错误的原因和解决方法
4热门网页制作
·两种网页滚动字幕代码
·设置select宽度
·在网页中实现细线边框的两种方法
·HTML语法基础及规则
·滚动字幕标记(marquee)的使用
·表单提交后submit按钮变灰
·隐藏状态栏的超链接信息
·如何让浏览者记住你的网站
·隐藏网页源代码方法汇总
·制作漂亮的三维表格
4相关网页制作
·HTML5大潮已袭来,HTML5曲折的发展之路
·实时更新的新闻代码
·页面上所有的链接都在新窗口打开
·自适应高度的iframe框架
·巧用表格来设计主页
·如何开始WEB标准之路
·层(div或table)的左右滚动
·让输入框关闭自动完成(AutoComplete)功能
·七款天气预报代码
·七款天气预报代码
网页头部多出一行空白甚至样式错乱等问题的分析
类别:HTML教程    来源:网络    时间:2013/8/26    贴士:推荐给好友
收藏本页 8 
  网页顶部多了一个空白行,甚至引起样式的错乱,这个我是深有体会啊,明明样式都设置好了,可还是有空白行。很是奇怪,后来搜索了一下,找到原因了。就是因为页面编码时加了BOM,才导致的空白行,怎么也去不掉。

  分析:

  由于使用UTF-8编码,在编写或修改代码后都保存为UTF-8编码格式。虽然现在几乎所有的文本编辑软件都可以显示并编辑UTF-8编码的文件,但是很遗憾的是其中很多软件的表现并不理想。

  类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(_0xEF _0xBB _0xBF,即BOM:Byte Order Mark)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,PHP在设计时就没有考虑BOM的问题,不会忽略UTF-8编码的文件开头BOM的那三个字符,会把BOM作为该文件开头正文的一部分。由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以将会造成在页面上输出这三个字符,显示效果就要看浏览器了,一般是一个空行或是一个乱码。由于在html一开头有这3个字符的存在,即使页面的top padding设置为0,也无法让整个网页紧贴浏览器顶部。由于受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效,一切依赖COOKIE、SESSION实现的功能全部无效。

  解决:

  在编辑、更改任何文本文件时,请务必使用不会乱加BOM的编辑器。Linux下的编辑器应该都没有这个问题。WINDOWS下,请勿使用记事本等编辑器。

  推荐的编辑器是:
  1、Editplus 2.12版本以上;
  2、EmEditor;
  3、UltraEdit(需要取消“添加BOM”的相关选项);
  4、Dreamweaver(需要取消“添加BOM”的相关选项);
  5、Notepad(需要进行“转换为不带BOM的UTF-8”)等;
  6、对于已经添加了BOM的文件,要取消的话,可以用以上编辑器另存一次,Editplus需要先另存为gb2312,再另存为UTF-8,我是用这个解决的问题。
·上一篇:HTML5大潮已袭来,HTML5曲折的发展之路
·下一篇:让网站支持老版本IE浏览器的3种解决方法
本站部分内容收集整理于网络,仅用于学习,不存在商业目的,如有涉及版权等问题请联系站长,本站将在第一时间内进行处理!
Copyright © 2007-2010 Zzsky.Cn  中国站长天空  网站制作维护:可乐猫  QQ:8127544(请注明来意)
设为首页  加入收藏  联系站长  友情链接  闽ICP备12017729号