php页面上没有怪癖模式?

时间:2009-09-21 15:47:52

标签: php html quirks-mode

我的网站是所有php页面,因为它是所有数据库的东西。但是,我在将页面置于没有怪癖模式时遇到了麻烦...我做了常规的事情:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

这不起作用。如果我使用相同的代码创建一个html页面,当然可以。

所以这让我相信我只能在html页面中关闭怪癖模式?也许这是一个愚蠢的问题,我不需要在php页面中关闭怪癖模式吗?..请帮助,<form>不断突破,我尝试过多次修复,但我在想它与网站处于怪癖模式有关。

4 个答案:

答案 0 :(得分:2)

页面的呈现方式无关紧要,PHP或静态。我怀疑你的问题是在doctype声明中。你确定php没有在doctype之前输出像换行符这样的字符吗?

答案 1 :(得分:0)

您的PHP脚本可能正在输出一些Content-Type标头,该标头告诉浏览器该页面是doctype指定的其他格式。我不确定浏览器应该如何解决这种冲突。我也不确定你是如何设置PHP来输出Content-Type标题的,但如果你查看headers的PHP手册,你可能会走上正确的轨道。该设置也可能在您的Web服务器配置中。

答案 2 :(得分:0)

如果你正在做XHTML,你不应该在doctype上面有一个XML声明吗?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

此外,如果您要提供XHTML,请确保内容类型为text/xml text/html。这是一个常见的错误。 XHTML是XML,必须按原样提供,否则大多数浏览器都会忽略声明并使用怪癖模式。

(更好的是,不要使用XHTML,请使用HTML5。)

如果这不能解决问题,我认为Pete Michaud必须有正确的想法。查看View Source以查看实际发送到浏览器的内容。

答案 3 :(得分:0)

是的,显然我是将代码添加到错误的页面。我应该添加它的页面有相互冲突的代码。所以,谢谢,它现在有效..愚蠢的分页符仍然在那里,无论我申请什么css,都喜欢创建新的行,但至少现在该站点是标准化的。谢谢大家!