前端面试题十四@杨志刚

什么是事件委托?为什么要用事件委托?

事件委托就是利用事件冒泡机制指定一个事件处理程序,来管理某一类型的所有事件。

即:利用冒泡的原理,把事件加到父级上,触发执行效果。

使用委托可以将同类型的方法绑定到同一个变量上,当调用此变量时就可以一次调用绑定的方法,很方便。

什么是盒模型

 元素的外边距(margin)、边框(border)、内边距(padding)、内容(content)就构成了CSS盒模型。

盒模型的宽度或者高度计算方式为:width/height = content + padding + border

W3C盒模型的宽度或者高度计算方式为:width/height = content。

行内、块元素、空元素分别举例

行内元素:a、b、span、img、input、strong、select、label、em、button、textarea

块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote

空元素:br、meta、hr、link、input、img

src和href的区别

href标识超文本引用,用在link和a等元素上,href是引用和页面关联,是在当前元素和引用资源之间建立联系

src表示引用资源,表示替换当前元素,用在img,script,iframe上,src是页面内容不可缺少的一部分。

link和import的区别

      区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。

  区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。

  区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。

  区别4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。

从属关系

1.1 link:link是HTML提供的标签,不仅可以加载CSS,还可以定义rel等属性

1.2 @import:@import是css提供的语法,只有导入样式表的作用

加载顺序

2.1  link:link在页面加载时CSS同时被加载

2.2 @import:引入的CSS要等页面加载完毕后再加载

兼容性问题

3.1 link是HTML提供的语法,不存在兼容性问题

3.2 @import是css2.1提供的语法,ie5以上才兼容

DOM可控性

js控制DOM时,可以通过插入link标签来改变样式,不能通过@import改变

权重问题(有争议)

link标签引入的样式权重大于@import标签

HTML5为什么只需要写 < !

HTML5不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。

而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型

doctype作用,标准模式和兼容模式有什么区别

声明位于位于HTML文档中的第一行,处于 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。

在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器行为以防止站点无法工作。

请写出HTML5新增的API

(1)绘画 canvas;

(2)用于媒介回放的 video 和 audio 元素;

(3)本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;

(4)sessionStorage 的数据在浏览器关闭后自动删除;

(5)语意化更好的内容元素,比如 article、footer、header、nav、section;

(6)表单控件,calendar、date、time、email、url、search;

(7)新的技术webworker, websocket, Geolocation

css优先级如何计算

1.CSS优先级比较

!important  >   内联样式   >   id   >   class   >   标签   >   通配符   >   继承   >   默认

2.CSS权重计算

我们把特殊性分为4个等级,每个等级代表一类选择器,每个等级的值为其所代表的选择器的个数乘以这一等级的权值,最后把所有等级的值相加得出选择器的特殊值。

4个等级的定义如下:

第一等:代表内联样式,如: style=””,权值为1000。

第二等:代表ID选择器,如:#content,权值为0100。

第三等:代表类,伪类和属性选择器,如.content,权值为0010。

第四等:代表标签选择器和伪元素选择器,如div p,权值为0001。

第五等:通用选择器(*),子选择器(>),相邻同胞选择器(+),权值为0000

你可能感兴趣的:(前端面试题十四@杨志刚)