css实现垂直居中
- table-cell
.box1{
display: table-cell;
vertical-align: middle;
text-align: center;
}
- flex
.box2{
display: flex;
justify-content:center;
align-items:Center;
}
- 绝对定位和负边距
.box3{position:relative;}
.box3 span{
position: absolute;
width:100px;
height: 50px;
top:50%;
left:50%;
margin-left:-50px;
margin-top:-25px;
text-align: center;
}
- 绝对定位和0
.box4 span{
width: 50%;
height: 50%;
background: #000;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}
移动端适配
- 媒体查询
根据不同的手机屏幕,设置不同的css代码,达到适配各个手机屏幕 - flex 弹性布局和rem+viewport
页面外城元素用flex布局,里面的元素设置其布局方式,然后根据不同的手机屏幕大小设置不同的像素比,在结合rem来计算。
rem相对于根节点(html)字体大小的值 。
文本超出省略
<p style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
清除float
- 增加一个空的标签(div 或 br等都行),通过clear:both语句消除float对后面元素的影响。
- 在父元素设置 overflow:auto
- 使用:after 伪元素
数组api
- splice
删除:var deletes=arr.splice(starti,n);
删除arr中starti位置开始的n个元素
返回被删除的元素组成的临时新数组
1.arr.splice();//删除或其他
2.arr.reverse();//反转数组
3.arr.sort(); //数组排序
4.arr.push(值);arr.pop();//入栈和出站
5.arr.unshift(值);arr.shift();//开头出入站
闭包的优点和缺点
闭包就是能够读取其他函数内部变量的函数。
(1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
(2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。
let const
let声明的变量可以改变,值和类型都可以改变,没有限制。
const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值