今天看了两道题,我觉得有必要将他整理一下,因为这个某公司的一个面试题,这道题相对来说还是非常经典的,所以说我们来看看下面的一个代码
html中的这个DOCTYPE有什么作用?
下面来看看这道题的一个标准答案:
他用于声明一个文档类型,和DTD(Document Type Definition)规范,确保不同的这个浏览器可以用相同的方式进行一个文档的一个解读,以及他执行相同的渲染模式,DTD就是这样这样的一个文档的类型定义,所以说,我们的这个标记符的语法规则就是保证SGML和XML的一个合法性;
下面来说说我个人的一个理解,在html5中出现了这样的一个文档声明,当时的我只是认为他是告诉我们的浏览器,我们的当前的这个页面使用的html5的这样的一个结构,经过我查询了书籍和其他人的一些博客之后,总结了下面几点
1. <!DOCTYPE HTML>这句话在整个网页的最上头,意思是这个网页是一个用html5语法写的,因为还有html4和xhtml等语法。
2 . 为了兼容一些旧的页面,浏览器设置了两种解析模式:1.标准模式(Standards Mode) 2.怪异模式(Quirks Mode)
3. 怪异模式解析网页时会产生一些解析错误。
4. 避免出现怪异模式的最好方式就是在页面中编写正确的doctype。所以头上的这句话一定要加上。
html和xhtml的区别
1. XHTML需要一个良好的文档结构,也就是我们的这个元素需要合理嵌套
2. 在XHTML文档中,元素名称会区分大小写,并且元素名称和属性必须小写
3. 在XHTML中,所有的元素都需要结束标签
4. 在XHTML中可以混合各种XML使用
5. 在XHTML文档中,注释标签里面的内容将会被忽略
6. XHTML文档内的CDATA中的内容可以被执行
7. 在XHTML1.0中,不推荐a , applet, form, frame, iframe, img和map元素拥有name属性,但是即使是加了他也是不会报错的
8. 在HTML中用脚本读取到的html标签和属性名会以大写形式返回,而xhtml1.0是一个小写
9. 在xhtml文档中,元素的属性值需要用到引号包括,并且禁止属性简化
10. 在xhtml文档中,有些字符必须替换成实体引用