- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
有必要写<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 :
W3C validator说它是有效的。
但我很少在网上看到这种做法。
写这些标签有什么理由吗?
最佳答案
省略 html
、head
和 body
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
此错误似乎仅限于任何文本内容和任何 body
开始标记之前的 form
开始标记。
关于html - 有必要写 HEAD、BODY 和 HTML 标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641997/
我正在使用 this solution在二进制矩阵中找到与图像边界对齐的矩形。假设现在我想找到一个不与图像边框对齐的矩形,并且我不知道它的方向;找到它的最快方法是什么? 为了示例,让我们寻找一个仅包含
else: 行在这个 Python 程序中是否正确/必要? from random import randrange for n in range(10): r = randrange(0,1
在 TDPL 7.1.5.1 中讨论了将 Widget w2 分配给 w1 并且作者指出“将 w2 逐个字段分配给 w1 会将 w2.array 分配给 w1.array——一个简单的数组边界分配,而
我是一名优秀的程序员,十分优秀!