(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-03-27)
今天在写代码的时候发现了一个诡异的问题,我的HTML页面代码当中明明没有多余的行,标签书写规范,没有加任何样式(如margin、padding),也清除了所有元素的默认样式(*{margin:0px;padding:0px;}),但是当页面预览的时候却总是莫名其妙出现一个或几个空行,使用审查元素察看发现均是空白文本,如下图:
这幽灵般的空白行让我百思不得其解,把能去掉的空白字符都去掉了仍旧无法解决,可以肯定这不是代码的问题。于是仔细回顾了一番我所做过的操作,原来我在Notepad++中新建的文档默认的编码格式为ASNI编码,大家知道在这种编码模式下输入的中文在网页中是无法正常显示的,于是我把编码格式切换到了UTF-8,这时问题就出现了,Notepad++中UTF-8编码有两种形式,UTF-8和UTF-8无BOM格式编码。
UTF-8 BOM也叫UTF-8 签名,它对UFT-8没有作用,只是告诉编辑器当前文件采用何种编码,方便编辑器识别,但BOM虽然在编辑器中不显示,却会在浏览器中产生输出,导致多处许多空白字符。
这就是诡异空白行出现的原因所在了,我将所有出现这种情况的页面的编码格式从UTF-8改到UTF-8无BOM格式编码,空白行就消失啦。问题解决!!
时间: 2024-10-05 07:51:47