首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否需要编写HEAD,BODY和HTML标签?

是否需要编写HEAD,BODY和HTML标签?
EN

Stack Overflow用户
提问于 2018-01-02 06:05:25
回答 2查看 0关注 0票数 0

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

For example, I can make such a page:

代码语言:javascript
复制
<!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正确地将头部和身体分开:

W3C Validation says it's valid.

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

有理由写这些标签吗?

EN

Stack Overflow用户

发布于 2018-01-02 14:27:57

省略htmlheadbody 标签肯定是由HTML规范允许的。其根本原因是浏览器一直试图与现有的网页保持一致,而早期的HTML版本并没有定义这些元素。当HTML2.0 首先,它是以一种当失踪的时候推断标签的方式完成的。

我经常发现,在原型设计时,特别是在编写测​​试用例时省略标签是很方便的,因为它有助于保持关注测试的标记。推理过程应该按照您在Firebug中看到的方式创建元素,而且浏览器在这个过程中也是非常一致的。

但...

IE在这方面至少有一个已知的bug。即使IE9。假设标记是这样的:

代码语言:javascript
复制
<!DOCTYPE html>
<title>Test case</title>
<form action='#'>
   <input name="var1">
</form>

你应该(并在其他浏览器中)得到一个如下所示的DOM:

代码语言:javascript
复制
HTML
    HEAD
        TITLE
    BODY
        FORM action="#"
            INPUT name="var1"

但在IE中,你得到这个:

代码语言:javascript
复制
HTML
    HEAD
       TITLE
       FORM action="#"
           BODY
               INPUT name="var1"
    BODY

看看

这个bug似乎局限于form任何文本内容和任何body开始标签之前的开始标签。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档