1.Doctype作用,标准模式与兼容模式的区别
<!DOCTYPE>
声明位于 HTML 文档中的第一行,处于<html>
标签之前; 用于告知浏览器用什么文档标准来解析这个文档;
如果 DOCTYPE 不存在或者格式不正确会导致文档以兼容模式呈现。
标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行; 在兼容模式中,页面以宽松的向后兼容方式显示,防止站点无法工作。
HTML5为什么只需写<!DOCTYPE HTML>
?
HTML5 不基于 SGML ,因此不需要对 DTD 进行引用,但是需要 DOCTYPE 来规范浏览器的行为(让浏览器按照它们的方式来运行);
HTML4.01 基于 SGML ,所以需要对 DTD 进行引用,这样才能告知浏览器该文档所使用的文档类型。
2.行内元素有哪些?块级元素有哪些?空(void)元素有哪些?
CSS 规定每个元素都有
display
属性来确定该元素的类型,每个元素都有默认的display
值;
如div
的display
默认值为'blcok'
就是块级元素;
如span
的display
默认值为'inline'
,就是行内元素。
行内元素有:a b span img input select strong
块级元素有:div ul ol li dl dt dd h1 h2 h3 h4...p
常见的空元素:<br> <hr> <img> <input> <link> <meta>
不常见的空元素:<area> <base> <col> <command> <embed> <keygen> <param> <source> <track> <wbr>
3.HTML5 有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
HTML5 现在已经不是 SGML 的子集,主要是关于图像、位置、存储、多任务等功能的增加。