运行验证并获得一些错误。
f<!DOCTYPE html>↩
<!--[if IE 8 ]><html class="ie ie8 no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> <![endif]-->↩
<!--[if (gte IE 9)|!(IE)]><!--><html class="no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> <!--<![endif]-->↩
<head>↩
我已经尝试将header.php保存为(UTF-8,没有BOM),但我似乎无法在开始时摇动非空格字符('f')。
这是PHP代码:
<!DOCTYPE html>
<?php
/**
* Theme Header
*
* Outputs <head> and header content (logo, tagline, navigation)
*/
?>
<!--[if IE 8 ]><html class="ie ie8 no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html class="no-js" <?php language_attributes(); ?>> <!--<![endif]-->
<head>
然后,我不知道从哪里开始“stray html”错误标记。自己检查http://wsumc.com/worship
答案 0 :(得分:2)
查看https://validator.w3.org/nu/?doc=http://wsumc.com/worship/ ...
“Stray start tag html
”消息只是开头f
的另一个副作用。
HTML的工作方式是,f
是裸文本 - head
元素不能包含 - 因此它意味着文档的主体已经启动,并且后面的所有内容都是身体的一部分。因此,当HTML解析器看到f
时,解析器会生成<body>
开始标记。
但解析器看到的下一件事是<!DOCTYPE html>
- 它现在位于body
- 所以解析器说,“Stray doctype”并继续前进。但接下来解析器发现的是<html>
开始标记,现在也在body
- 所以解析器说,“Stray start tag html
”
Parsing HTML documents section of the HTML spec定义了所有这些是如何运作的(尽管对于大多数读者而言,这并不是一种超级平易近人的方式......)