我有一个非常奇怪的问题:
我的网站引擎使用php。当页面创建时,我查看它的HTML代码(使用broswer的菜单“请参阅源代码html”),我看到了这一点(我在这里只是代码的重要部分):
<div class="main_page_blogs_post2_item1">
<div><p><p>
<div class="cblui_image_contaner_" align="center">
但REAL HTML代码与源代码不同 - 当我使用firebug查看此代码时,我看到此代码:
<div class="main_page_blogs_post2_item1">
<div>
<p></p>
<p> </p>
<div class="cblui_image_contaner_" align="center">
我的意思是关闭</p>
标签会自动添加到HTML代码,我不知道为什么。
我认为它是javascript,但我尝试重新加载页面禁用javascript - 它没有帮助。
并且我认为这是php的错,因为源代码是正确的。
UPD:
我发现,在我的情况下,2个开放<p>
标记和2个结束</p>
标记已转换为<p></p>
组合。所有其他<p>
代码均未受到影响。
它可能是什么?
由于
P.S。抱歉英语不好:)
答案 0 :(得分:2)
Firebug在浏览器中显示实际生成的代码。这可能与您从服务器发送的html有所不同(更正,略有改动)。
有3个步骤:
答案 1 :(得分:0)
Firebug显示更正的来源。这意味着它添加了缺少的标签。查看真实html的正确方法是在浏览器中“查看源代码html”。
答案 2 :(得分:0)
虽然技术上可以使用开放的<p>
标签,但我的猜测是浏览器在遇到下一个块标签时会自动关闭它们。使用<br/>
标记添加换行符,或向<p>
个节点添加文字。
浏览器可以处理如下输入:
<p>Lorem ipsum
<p>Foobar text
并会自动将其解读为
<p>Lorem ipsum</p>
<p>Foobar text</p>
因此,您的代码
<div>
<p><p>
<div> ....
变为:
<div>
<p></p><p></p>
<div> ....
尝试设置HTML文档类型并坚持使用html / xml规则。使您的html错误免费并使用the w3c validator进行测试。根据经验,不要在不关闭它们的情况下使用<p>
标记,也不要将它们包裹在其他块标记周围。