前端开发面试题总结--(一)HTML5部分

又到了年初换工作的高峰期,这里总结一下在网上发现的前端面试题,做个记录,第一部分先写HTML5相关,以后陆续添加~

HTML

  1. Doctype作用?
    声明位于位于HTML文档中的第一行,处于 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。
    HTML5的Doctype是,现在的浏览器都支持这个写法,不需要再像HTML4一样区分三种Doctype(严格、松散、框架)了。因为HTML4基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型,而HTML5 不基于 SGML,因此不需要引用DTD,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。

  2. 常见的行内元素有哪些,块级元素有哪些,空(void)元素有那些,行内元素和块级元素的区别是什么?
    行内元素:a b i span img input select strong(强调的语气)textarea等
    块级元素:div ul ol li dl dt dd h1 h2 h3 h4…p section table等
    空元素:



    行内元素和块级元素的区别:
    行内元素----css的display属性是inline,不会独占一行,相邻行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化,设置高度和宽度的话会不起作用,水平方向的padding-left、padding-right、margin-left、margin-right都产生边距效果,但竖直方向的padding-top、padding-bottom、margin-top、margin-bottom却不会产生边距效果。
    块级元素----css的display属性是block,会独占一行。默认情况下,其宽度自动填满其父元素宽度,宽高可以设置,但设置了宽度还是独占一行。
    注:
    修改display为block,可以把行内元素变成块级元素,修改display为inline,可以把块级元素变成行内元素。
    display为inline-block时,可以使行内元素保持在一行内,但具有块级元素的特点。

  3. css引入的方式?页面导入样式时,使用link和@import有什么区别?
    css有三种引入方式:在页面上用标签引用文件,页面上在