我有简单的页面,如:
...
<div><?php include 'somefile.php' ?></div>
...
'somefile.php'文件包含<p>Lorium ipsum...</p>
浏览器会在块的开头添加空格?看图像: http://s44.radikal.ru/i104/1209/95/87e6c2438700.jpg
答案 0 :(得分:3)
在PHP开始标记之前,somefile.php
很可能有空格或其他不可打印的字符(例如BOM)。
更新:的确,您的文件以UTF-8 BOM(字节EF BB BF
)开头。使用文本编辑器保存它而不需要BOM;您将看到文件大小减少3个字节作为确认。
答案 1 :(得分:3)
您的某个元素上很可能有填充或边距样式指令。浏览器在解析HTML时会忽略空格(正如它们所做的那样)。
您在HTML源代码中看到的空间可能是由包含的.php文件开头的换行引起的(注意:这仍然不会影响代码的呈现方式)。
答案 2 :(得分:1)
somefile.php
包含<p>
段落中包含的文字,并且最确定该段落有边距或填充。
你test.php
中的问题以一个看不见的unicode字符开头。
<div><p> // between <div> and <p> there is an unicode character
答案 3 :(得分:0)
'somefile.php'的内容是什么?尝试使用Notepad ++或其他IDE /文本编辑器
更改UTF-8中没有BOM的文件的编码