前面面试题 HTML之标准

SGML标准通用标记语言

Standard Generalized Markup Language,HTML5不再基于SGML

Doctype作用,严格模式和混杂模式如何区分,有何意义

<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。 <!doctype PUBLIC “引用字符串”—公共标志符><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

意义:标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

HTML5为什么只需要写<!DOCTYPE HTML>

HTML5 不基于 SGML(标准通用标记语言),因此不需要对DTD(文档类型定义)进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行);而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。DTD规定了标记语言的规则(包括但不限于16种公知颜色十六进制表示、元素、属性、UI事件名称等),浏览器才能正确呈现

CDATA是什么

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。在 XML 元素中,"<" 和 "&" 是非法的。"<" 会产生错误(新元素的开始),"&" 也会产生错误(字符实体的开始)某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。 CDATA 部分中的所有内容都会被解析器忽略。由 "<![CDATA[" 开始,由 "]]>" 结束。关于 CDATA 部分的注释:CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。

gzdaijie            updated 2018-05-04 01:47:18

results matching ""

    No results matching ""