找了半天,以为是自己写的代码问题原来是被编码格式坑了。当我百度了才知道原来是这样子的。
文件编辑的时候utf-8带了bom头。
这种编码方式一般会在windows操作系统中出现,比如记事本编辑器,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。
它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。
对于一般的文件,这样并不会产生什么麻烦。
但对于html来说,BOM是个大麻烦。
因为浏览器在解析html页面时,并不会忽略BOM,所以在解析html文件时,会把BOM作为该文件开头正文的一部分,这串字符也将会被直接执行(在页面中并不显示)出来。由此造成即使页面的 top或者padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个隐藏字符!
解决方法:
或者用notepad++直接保存为utf-8无bom格式,然后覆盖原来的文件。