前端开发面试题

前端开发面试题

站点地址: 全栈开发
原文链接: 前端开发面试题

HTML

  • Doctype作用?标准模式与兼容模式各有什么区别?
1、 声明位于HTML文档中的第一行,处于 标签之前,告知浏览器的解析器用什么文档标准解析。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。
2、标准模式的排版和JS运行模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
  • HTML5为什么只需要写
HTML5不基于SGML(标准通用标记语言),因此不需要对DTD(文档类型定义)进行引用,但是需要 doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)
HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。
  • 行内元素有哪些?块级元素有哪些?空(void)元素有哪些?
首先:CSS规范规定,每个元素都有 display属性,确定钙元素的类型,每个元素都有默认的 display值,如 divdisplay默认值为 block,都是块级元素; span默认 display属性值为 inline,是行内元素。
1、行内元素: abspanimginputselectstrong(强调的语气)
2、块级元素: divulollidldtddh1h2h3h4p
3、常见的空元素: brhrimginputlinkmeta
不常用的空元素: areabasecolcommandembedkeygenparamsourcetrackwbr
  • 页面导入样式时,使用link@import有什么区别?
1、 link属于 XHTML标签,除了加载 CSS外,还能用于定义 RSS,定义 rel连接属性等作用;而 @importCSS提供的,只能用于加载 CSS
2、页面被加载时, link会同时被加载,而 @import引用的 CSS会等到页面被加载完再加载。
3、 importCSS2.1提出的,只在 IE5以上才能被识别,而 linkXHTML标签,无兼容问题。
4、 link支持使用 JS控制 DOM改变样式,而 @import不支持。
  • 介绍一下你对浏览器内核的理解?
主要分成两部分:渲染引擎( layoutengine)和JS引擎。
渲染引擎:负责取得网页的内容(HTML、XML、图像等)、整理信息(加入CSS等),以及计算网页的显示方式,然后输出到显示器或打印机。浏览器的内核的不同对网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其他需要编辑、显示网络内容的应用程序都需要内核。
JS引擎:解析和执行JS来实现网页的动态效果。
最开始渲染引擎和JS引擎并没有区分额很明确,后来JS引擎越来越独立,内核就倾向于只是指渲染引擎。
  • 常见的浏览器内核有哪些?
Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等[MSHTML]
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上[Opera内核原为: Presto,现为: Blink]
Webkit内核:Safari,Chrome等[Chrome:Blink(Webkit的分支)]
  • HTML5有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,多任务等功能的增加。
绘画 canvas
用于媒介回放的 videoaudio元素
本地离线存储 localStorage长期存储数据,浏览器关闭后数据不丢失
sessionStorage的数据在浏览器关闭后自动删除

语义化更好的内容元素,比如articlefooterheadernavsection
表单控件:calendardatetimeemailurlsearch
新技术:webworkerwebsocketGeolocation

移除的元素:
纯表现的元素:basefontbigcenterfontsstrikettu
对可用性产生负面影响的元素:frameframesetnoframes

支持HTML5新标签:
IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加默认的样式。
也可以直接使用成熟的框架,如html5shim


                    

你可能感兴趣的:(前端,面试,html,css,javascript)