贴一个 前端面试与进阶指南博客css
/*CORS使用自定义的HTTP头部容许浏览器和服务器相互了解对方*/
Access-Control-Allow-Origin:指定受权访问的域
Access-Control-Allow-Methods:受权请求的方法(GET, POST, PUT, DELETE,OPTIONS等)
复制代码
清除浮动的经常使用方式:
1.结尾处加空div标签 clear:both (或在下一个元素上加clear:both;)
2.父级div定义 伪元素:after
3.父级div定义 overflow:hidden
复制代码
/*垂直居中*/
.parent::after{
content:'';
height:100%
}
.parent::after .son{
display: inline-block;
vertical-align: middle;
}
复制代码
.parent2{
position: relative
}
.son2{
position: absolute;
height:10px;
/*方案一 有滚动条*/
top:50%;
margin-top:-0.5*10px;
/*方案二 截断 无滚动条*/
margin:auto 0;
bottom:0;
top:0
}
复制代码
/*transform*/
.parent3{
position:relative;
}
.son3{
position:absolute;
top:50%;
transform:translate(-50%,-50%)
}
复制代码
宏任务(MacroTask) script所有代码、setTimeout、setInterval、setImmediate(浏览器暂时不支持,只有IE10支持,具体可见MDN)、I/O、UI Rendering。前端
微任务(MicroTask) Process.nextTick(Node独有)、Promise、Object.observe(废弃)、MutationObservernode
DOM Tree的构建过程webpack
重排: 部分渲染树(或者整个渲染树)须要从新分析而且节点尺寸须要从新计算,表现为从新生成布局,从新排列元素css3
重绘: 因为节点的几何属性发生改变或者因为样式发生改变,例如改变元素背景色时,屏幕上的部份内容须要更新,表现为某些元素的外观被改变git
触发重排和重绘es6
避免重排/重绘github
1.位图交予GPU处理,比CPU快;
2.当须要 repaint 时,只须要 repaint 自己,不会影响到其余的层;
3.对于 transform 和 opacity 效果,不会触发 layout 和 paint
/*提高为合成层*/
#target {
will-change: transform;
}
复制代码
Cookie是服务器发送到用户浏览器并保存在本地的一小块数据
它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。
Session 表明着服务器和客户端一次会话的过程。
Session 对象存储特定用户会话所需的属性及配置信息
cookie在浏览器和服务器间来回传递,另外两个只存在本地
cookie不能超过4k,另两个5M;
cookie有效期是设置时间,sessionStorage是浏览器关闭时,localStorage是始终有效;
localStorage 和 cookie 在同源窗口共享,sessionStorage数据不共享
复制代码
css重置样式:不建议使用通配符重置,主要是性能问题。若是用通配符重置样式,那么势必会花费很大时间。网站打开速度变慢。 因此reset时,按需而行。用到哪些标签就设置重置。经常使用的重置样式:web
textarea标签中,默认的方式为:both;就是说:在textarea的右下角有一个三角,用户能够拖动,以改变textarea的大小。通常状况下咱们将textarea的样式设置为:none;
textarea { resize:none; } /*防止拖动*/
复制代码
浏览器默认图片都有3px的空白,以保证咱们对齐样式:
img {border:0;vertical-align:middle; } /* 去掉图片底部默认的3像素空白缝隙*/
复制代码
清除浮动的基本写法:
.clearfix:before,.clearfix:after{
content:"";
display:table;
}
.clearfix:after{clear:both;}
.clearfix{
*zoom:1;/*兼容IE7/6*/
}
复制代码