1、盒子模型
标准盒模型:宽度(content)+padding+border+margin
IE盒模型:宽度(content+padding+border)+margin
2、垂直、水平居中(缺少flex方法)
水平居中(定宽):margin:0 auto; 或 元素绝对定位 + left:50% + 元素负边距margin-left为宽度的一半
水平居中(不定宽):元素绝对定位 + left:50% + translate(-50%,0)
垂直居中(定宽):元素绝对定位 + top:50% + 元素负边距margin-top为高度的一半
垂直居中(不定宽):元素绝对定位 + top:50% + translate(0, -50%)
3、清除浮动的方法
- 子元素最后添加空标签div,设置clear:both;
- 父元素使用overflow:hidden;(父元素超出部分会被隐藏)
- 使用after伪类:
.clearfix:after { content: ""; display: block; height: 0; clear: both; }
4、重绘和回流
5、选择器的优先级
6、行内元素和块级元素的区别?img是什么元素?
7、数组的方法
8、解构
9、promise和settimeout的执行顺序
宏任务: script (整体代码),setTimeout, setInterval, setImmediate, I/O, UI rendering.
微任务: process.nextTick, Promise(原生),Object.observe,MutationObserver
promise实例中的内容同步执行,then里的内容放在微任务执行队列
微任务先于宏任务执行。
10、数组去重
- 利用set
- 利用对象的属性,先从对象中取值,若有值,则说明已重复,若没值,则说明不重复,将当前值再赋值给对象
11、排序
12、闭包
13、原型链
14、async await