希望你能坚持到19.12.02
牛客错题解析
Q:简述Canvas和SVG
A:
总结:Canvas和SVG是html5支持的两种可视化技术,绘制2D图形,都使用JS和HTML,都遵守W3C标准
Echarts是基于Canvas,底层封装了原生的JavaScript的绘图 API;D3底层基于SVG技术,SVG的本质是一个XML 文档
Canvas
1)依赖分辨率
2)不支持事件处理器(鼠标、键盘)
3)弱的文本渲染能力
4)能够以 .png 或 .jpg 格式保存结果图像
5)最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
1)不依赖分辨率
2)支持事件处理器
3)最适合带有大型渲染区域的应用程序(比如谷歌地图)
4)复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
5)不适合游戏应用

Q:visibility和display
A: visiblity:看不见,摸的着;display:看不见,摸不着 display是dom级别的,可以渲染和重绘。 visiblity不是dom级别的,不能重绘,只能渲染 display:hidden产生repaint,不产生reflow,若影响DOM布局,导致reflow

Q:HTML文档中可以嵌入的图像格式有?
A:jpg、gif、png、bmp

Q:HTML5新增元素有哪些?
A: article: 标签定义外部的内容。 aside:标签定义 article 以外的内容。a audio:h5新增音频标签。没有高宽属性。 canvas:h5新增画布标签。 command: 定义命令按钮(未测试) datalist:标签定义选项列表。 datalist 及其选项不会被想显示出来,它仅仅是合法的输入值列表。 details:标签用于描述文档或文档某个部分的细节。 figure:标签用于对元素进行组合。 figcaption:定义 figure 元素的标题。 footer:定义 section 或 document 的页脚。 header:定义 section 或 document 的页眉。 hgroup:用于对网页或区段(section)的标题进行组合。 keygen:标签规定用于表单的密钥对生成器字段 mark:标签定义带有记号的文本。 meter:通过min="0" max="20"的方式定义度量衡。仅用于已知最大和最小值的度量。 nav:定义document或section或article的导航。 output:定义不同的输出类型,比如脚本。 progress:定义任何类型的任务的进度。 rp:定义若浏览器不支持 ruby 元素显示的内容 rt:定义 ruby 注释的解释 ruby:定义 ruby 注释 section:标签定义文档中的节、区段。比如章节、页眉、页脚或文档中的其他部分。 source:audio和video的属性之一。为audio和video定义媒介源。 summary:为details定义标题。 time:定义日期或时间。 video:h5新增视频标签。具有高宽属性。
Q:media queries的条件有哪些?
A:
设备像素比、设备类型、设备高度。 使用and关键字用于合并多个媒体属性或合并媒体属性与媒体类型。

@media tv and (min-width: 700px) and (orientation: landscape) { ... }

tv设备类型,(min-width: 700px) 设备像素比,(orientation: landscape)设备高度