php网页上方的空白区域问题
今天发现网页上方多了一行空白区域,然后就找了一下,发现是UTF-8的编码文件问题,保存UTF-8的时候,系统会默认在文件的开始地方插入BOM(三个不可见字符:0xEF 0xBB 0xBF)。它是一串隐藏的字符,用于给记事本等编辑器识别这个文件是否UTF-8编码。对于一般软件来说这几个编码确实没什么问题,但是对于PHP网页来说,这个BOM是个累赘麻烦的东西,因为它会让网页的顶部产生一行空白区域。
解除办法两种:
1.用BODY标签的margin-top属性,使得网页自动向前缩进15px或16px;
2.在编辑器中(如notepad)储存的时候转换为不带BOM的UTF-8。
推荐的编辑器:Editplus 2.12版本以上; EmEditor; UltraEdit(需要取消‘添加BOM’的相关选项); Dreamweaver(需要取消‘添加BOM’的相关选项); Notepad(需要进行“转换为不带BOM的UTF-8”)等。
第一种方法其实不大好,没有从根本上解决问题。因为COOKIE的送出机制也会有限制。在这些开头有BOM的文件中,在COOKIE送出钱PHP已经送出了头文件,COOKIE无法送出,所以登入和登出功能都会导致失败,一切依赖COOKIE、SESSION实现的功能都将无效。所以最好还是用第二种方法。
另外顶部空白还有一个很2的原因,如果在首页部分有字体,字体有行间距,行间距有可能会引起顶部空白的出现。所以CSS那边要写好。
页:
[1]