gpt4 book ai didi

html - 有必要写 HEAD、BODY 和 HTML 标签吗?

转载 作者:IT老高 更新时间:2023-10-28 11:06:41 24 4
gpt4 key购买 nike

有必要写<html> , <head><body>标签?

比如我可以做这样一个页面:

<!DOCTYPE html>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page Title</title>
<link rel="stylesheet" type="text/css" href="css/reset.css">
<script src="js/head_script.js"></script><!-- this script will be in head //-->


<div>Some html</div> <!-- here body starts //-->

<script src="js/body_script.js"></script>

还有 Firebug正确分离头部和 body :

Enter image description here

W3C validator说它是有效的。

但我很少在网上看到这种做法。

写这些标签有什么理由吗?

最佳答案

省略 htmlheadbody tags 当然是 HTML 规范允许的。根本原因是浏览器一直在寻求与现有网页保持一致,而 HTML 的早期版本并没有定义这些元素。当 HTML 第一次这样做时,它是以一种在缺少标签时会推断出标签的方式完成的。

我经常发现在原型(prototype)设计时省略标签很方便,尤其是在编写测​​试用例时,因为它有助于使标记专注于有问题的测试。推理过程应该完全按照您在 Firebug 中看到的方式创建元素,并且浏览器在这方面非常一致。

但是……

Internet Explorer在这方面至少有一个已知的错误。偶Internet Explorer 9展示了这一点。假设标记是这样的:

<!DOCTYPE html>
<title>Test case</title>
<form action='#'>
<input name="var1">
</form>

您应该(并且在其他浏览器中这样做)获得 DOM看起来像这样:

HTML
HEAD
TITLE
BODY
FORM action="#"
INPUT name="var1"

但是在 Internet Explorer 中你会得到这个:

HTML
HEAD
TITLE
FORM action="#"
BODY
INPUT name="var1"
BODY

See it for yourself.

此错误似乎仅限于任何文本内容和任何 body 开始标记之前的 form 开始标记。

关于html - 有必要写 HEAD、BODY 和 HTML 标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com