1. 标签语义化是指什么?使用标签语义化有什么好处。

    其实都是div标签,都是名字不同而已,再写大篇代码的时候,运用标签语义化,便于直观展示,可分区域然后进行局部分析;
    答案:
    a. HTMl标签语义化,简单来说,就是让标签有含义,给某块内容用上一个最恰当最合适的标签,使页面有良好的结构,页面元素有含义,不论是谁都能够看懂这块内容是什么,并且有利于搜索引擎。
    b. **标签语义化的好处:
    1. **HTML结构清晰
    2. **代码可读性较好
    3. **无障碍阅读
    4. **搜索引擎可以根据标签的语言确定上下文和权重问题
    5. **移动设备能够更完美的展现网页(对css支持较弱的设备)
    6. **便于团队维护和开发**

    1. DOCTYPE有什么作用?标准模式与混杂模式如何区分?它们有何意义?

    DOCTYPE作用:是document type的简写,在web设计中用来声明文档类型,告诉浏览器要通过哪一种规范(DTD)解析文档(比如HTML和XHTML规范)
    标准模式和混杂模式区别以及意义:
    首先他们是通过使用DOCTYPE实现模式切换,主要作用就是告诉浏览器以哪种模式呈现,如何解析文档,也就是说两种模式主要影响css内容的呈现。**混杂模式是一种向后兼容的解析方式,是实现IE5.5以下版本浏览器的渲染模式;标准模式是一种要求严格的DTD根据web标准去解析页面的模式;区别:例如1.盒模型的解析:混合模式下(相当于怪异盒模型)—盒模型的宽高=内容的宽高;标准模式盒模型的宽高=内容的宽高+padding的宽高+border的宽高;2.当一块元素div包含内容只有图片的时候,在标准模式下不管是ie还是标准,在图片底部有3像素的空白,在混杂模式下,标准浏览器中div距离图片底部默认没有空白;
    遵循W3C的标准是前进的方向,但是改变现有的css,完全去遵循,会使很多旧网站多少受到破坏,如果浏览器突然以正确的方式解析现存的css,陈旧的网站的显示必然会受到影响;所以,所有浏览器都需要提供两种模式:混杂模式服务与旧式规则,而严格模式服务于标准规则
    答案:
    DOCTYPE的作用:<!DOCTYPE>声明叫做文件类型定义(DTD),声明的作用是为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。<!DOCTYPE>声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。
    标准模式和混杂模式:
    标准模式(Standards mode):浏览器按照 W3C 标准解析代码
    混杂模式(Quirks mode):浏览器用自己的方式解析代码
    区分标准模式和混杂模式:
    a. 如果文档包含严格的 DOCTYPE ,那么它一般以标准模式呈现
    b. 有 URI 的过渡 DTD ——标准模式;没有 URI 的过渡 DTD ——混杂模式
    c. DTD不存在或者格式不正确——混杂模式
    d. HTML5 没有严格和混杂之分。HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。
    意义:严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式。**

    1. 元素的alt和title有什么异同?
    • alt作为图片的代替文字出现,title作为图片的解释文字出现
    • alt属性的应用较少,如:img、area、input中,title应用较多,如:a、form、input、div、p这些块级元素都可以用
    • alt仅仅作为标签属性,title也可以是标签,它是网页的标题标签
    1. 【多选】关于
      标签的属性,下列选项正确的是 ( AB )

    A. autoplay属性,则视频在就绪后马上播放。
    B. loop属性,则当媒介文件完成播放后再次开始播放。
    C. preload属性,则视频在就绪后马上播放。
    D. autoplay属性,则当媒介文件完成播放后再次开始播放。

    1. 【多选】下列说法正确的是 ( AD )

    A. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。
    B. 在标签上不用设置任何属性,任何元素均可拖拽 dragable=”true”
    C. 当开始拖拽时,会发生 drop 事件。 ondragstart
    D. ondragover 事件规定在何处放置被拖动的数据。

    1. 什么是 Canvas?

    HTML5的canvas元素使用js在网页上绘制图像,画布是一个矩形区域,可以控制其每一个像素,拥有多种的绘制路径、矩形、圆形、字符以及添加图像的方法
    答案:Canvas是h5新增的一个标签,HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

    1. 什么是SVG?与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势是哪些?

    SVG是可收缩的矢量图形;
    SVG优势:a尺寸小,可压缩性强;b可伸缩;c可以再图像质量不下降的情况下被放大;d在任何的分辨率下被高质量的打印;e可以通过文本编辑器来创建和修改
    答案:

    • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
    • SVG 用于定义用于网络的基于矢量的图形
    • SVG 使用 XML 格式定义图形
    • SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失
    • SVG 是万维网联盟的标准

    优势:

    • SVG 图像可通过文本编辑器来创建和修改
    • SVG 图像可被搜索、索引、脚本化或压缩
    • SVG 是可伸缩的
    • SVG 图像可在任何的分辨率下被高质量地打印
    • SVG 可在图像质量不下降的情况下被放大
      1. canvas与svg都可以创建图形,那么他们的区别是什么?

    1.历史:
    canvas是html5提供的新元素。
    而svg存在的历史要比canvas久远,已经有十几年了。svg并不是html5专有的标签,最初svg是用xml技术(超文本扩展语言,可以自定义标签或属性)描述二维图形的语言。
    2.功能:
    canvas可以看做是一个画布,其绘制出来的图形为标量图。可以在canvas中引入jpg或png这类格式的图片。在实际开发中,大型的网络游戏都是用canvas画布做出来的,并且canvas的技术现在已经相当的成熟。另外,我们喜欢用canvas来做一些统计用的图表,如柱状图曲线图或饼状图等。
    而svg,所绘制的图形为矢量图,不能引入普通的图片,因为矢量图的不会失真的特点,在项目中我们会用来做一些动态的小图标。这个特点也很适合被用来做地图,百度地图就是用svg技术做出来的。
    3.技术:
    canvas里面绘制的图形不能被引擎抓取,canvas中我们绘制图形通常是通过javascript来实现。
    而svg里面的图形可以被引擎抓取,支持事件的绑定,svg更多的是通过标签来实现。我再来介绍一个svg的js库:TWO.JS。其中包含two.js和three.js前者用于绘制二维图形,后者用于绘制三维图形。TWO.JS可以支持三种格式,svg(默认)、canvas、和WEBGL。当然也可以在普通div中引入。

    答案:**

    • canvas:
      • 依赖分辨率
      • 不支持事件处理器
      • 弱的文本渲染能力
      • 能够以 .png 或 .jpg 格式保存结果图像
      • 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
    • svg:
      • 不依赖分辨率
      • 支持事件处理器
      • 最适合带有大型渲染区域的应用程序(比如谷歌地图)
      • 复杂度高会减慢渲染速度(任何过度使用DOM的应用都不快)
      • 不适合游戏应用
        1. 在 HTML5 中,onblur 和 onfocus 是 ( C )

    A. HTML 元素
    B. 样式属性
    C. 事件属性
    D. 窗体底端

    1. 由 SVG 定义的图形是什么格式的? C

    A. CSS
    B. HTML
    C. XML

    1. canvas中,使用rotate方法进行旋转,进行旋转的是画布坐标系**_**__


    1. 【多选】下列关于canvas描述正确的是 ( BC )

    A. HTML5 标签用于绘制图像,不需要借助任何脚本即可绘制。 js
    B. 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。
    C. getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。
    D. 通过jquery选择器选中canvas元素可以直接调用执行期上下文

    1. 【多选】下列做法可以提高网页性能的有哪些? ABCD

    A. http 请求方面,减少请求数量,请求体积,对应的做法是,对项目资源进行压缩,
    B. 提取公共的样式,公共的组件,
    C. 雪碧图,
    D. 缓存资源,

    1. 【多选】关于h5中的video标签,下列说法正确的是 ( ABD )。

    A. 可以使用poster属性指定占位图像
    B. 可以使用width height属性设置视频尺寸
    C. 可以使用muted属性制定占位图像
    D. 如果使用了muted属性,视频从一开始就处于静音状态

    1. 新的html5全局属性,“contenteditable”用于( B

    A. 规定元素的上下文菜单,该菜单会在用户点击右键点击元素的时候出现
    B. 规定元素内容是否可以编辑
    C. 从服务器升级内容
    D. 返回内容在字符串中首次出现的位置

    1. ctx.arc(100,100,100,0Math.PI,true) canvas绘制圆形的arc方法中,参数说明正确的是(D)

    A. 圆半径,圆心X坐标,圆心Y坐标,开始角度,结束角度,是否顺逆时针 true逆时针
    B. 圆半径,圆心X坐标,圆心Y坐标,开始角度,结束角度,是否顺逆时针 true顺时针
    C. 圆心X坐标,圆心Y坐标,圆半径,开始角度,结束角度,是否顺逆时针 true顺时针
    D. 圆心X坐标,圆心Y坐标,圆半径,开始角度,结束角度,是否顺逆时针 true逆时针
    解析:

    参数 描述
    x 圆的中心x坐标
    y 圆的中心y坐标
    r 圆的半径
    sAngle 起始角,以弧度计。(弧的圆形的三点钟位置是0度)
    eAngle 结束角,以弧度计
    counterclockwise 可选。规定应该逆时针还是顺时针绘图。false=顺时针,true=逆时针
    1. 为了使元素可拖动,把_**dragable属性设置为true,在拖放过程中,开始拖动元素会触发dragstart事件,松开时会触发dragend**_事件。

    2. 写出html5标准的页面结构

    <!Doctype html>




    HTML文档主要分为:head部分和body部分
    head部分:Title 当前页面的标题
    Meta 提供额外的信息,通常写入页面的编码格式
    Script 用于嵌入脚本,或者引用外部脚本
    Style 用于写入嵌入样式
    Link 表示引用某一类型的资源,通肠胃css样式表 ……
    body部分:文本元素
    表单元素
    图片元素
    视频元素
    音频元素 ……

    1. 【多选】下列关于h5中语义化标签的说法正确的是 ( ABCD )

    A. 语义化即用更加贴合语义或内容的标签包裹相应的内容。
    B. html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析。
    C. 在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。
    D. 搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。

    1. 下列 cookiesessionStoragelocalStorage 的说法错误的是?(D

    A. cookie、sessionStorage 和 localStorage都是保存在浏览器端,且是同源的。
    B. cookie 是为了标识用户身份而存储在用户本地终端上的数据,始终在同源http请求中携带。
    C. cookie 保存的数据很小,不能超过4k,而sessionstorage和localstorage保存的数据大,可达到5M。
    D. cookie、 sessionstorage和localstorage在所有同源窗口都是共享

    1. 在css3中可以通过linear-gradient创建线性渐变,在canvas中可以通过createLinearGradient()创建线性渐变对象,并通过addColorStop()方法添加颜色。

    2. 当窗口大小改变时会触发window.onresize事件,窗口失去焦点时会触发 onblur 事件。

    3. 【多选】下列说法正确的是 ( CD )。

    A. 设置svg的高斯模糊可以直接使用feGaussianBlur标签
    B. feGaussianBlur标签的使用必须包裹在filter标签内
    C. filter 标签用来定义 SVG 滤镜
    D. filter标签使用可以通过class属性来定义向图形应用哪个滤镜