面试题++

垂直居中方法
方法一:已知元素的高宽
#div1{
background-color:#6699FF;
width:200px;
height:200px;
position: absolute; //父元素需要相对定位
top: 50%;
left: 50%;
margin-top:-100px ; //二分之一的 height,
width margin-left: -100px;
}

   //方法二:未知元素的高宽 
   #div1{
   width: 200px;
    height: 200px; 
    background-color: #6699FF; 
    margin:auto; 
    position: absolute; //父元素需要相对定位 
    left: 0; top: 0; right: 0; bottom: 0; 
    }
方法三
	line-height 和 align-content
方法四 使用定位position
方法五 flex 布局
	justify-content:center
	algin-items:center
方法六 table-cell

清除浮动方法1
父级div定义 overflow:hidden
在浮动元素后面加一个空的div,加上clear:both并为它清除浮动
BFC清除浮动
浮动元素父元素加after伪元素 content:’’;displayl:block;clear:both;

对象合并方法:
var obj1 = {name:‘杨’,age:‘18’}
var obj2 = {sex:‘男’,work:‘程序员’}
var obj3 = Object.assgin(obj1,obj2 )
console.log(obj3 )
面试的时候说出了这个方法,结果被对方否认,于是面试就没有通过!!! 我应该再坚持一下的

遍历赋值
var obj1 = {name:‘杨’,age:‘18’}
var obj2 = {sex:‘男’,work:‘程序员’}
for (var key in obj2){
if(obj2.hasOwnProperty[key] === true){
obj1[key]=obj2[key]
}
}
console.log(obj1)

数组合并:
var arr1 = [1,2,3]
var arr2 = [4,5,6]
arr1.push.apply(arr1,arr2)
console.log(arr1)

 var arr1 = [1,2,3]
 var arr2 = [4,5,6]
 var arr3 = [...arr1,...arr1]
 console.log(arr3 )

var arr1  = [1,2,3];
var arr2 =[4,5]
arr1  = arr1  .concat(arr2 );
console.log(a);
这个方法会重新创建一个新的数组

数组去重:
var arr1 = [1,1,2,2,3,3]
function fn(arr){
return Array.from(new Set(arr))
}
var newArr = fn(arr1)
console.log(newArr)

var arr1 = [1,1,2,2,3,3]
var arr1 = [...new Set(arr)]
console.log(arr1)
function fn(arr1){
        for(i=0;i<arr1.length-1;i++){
            for(j=i+1;j<arr1.length;j++){
                if(arr1[i] == arr1[j]){
                    arr1.splice(j,4)
                    j--;
                }
            }
        }
        return arr1
    }
    var arr = fn(arr1)
    console.log(arr)

var newarr = []
    for(i=0;i<arr1.length;i++){
        if(newarr.indexOf(arr1[i]) == -1){
            newarr.push(arr1[i])
        }
    }
    console.log(newarr)

数组指定插入数组:
var arr1 = [a,b,c]
var arr2 = [4,5,6]
arr1.splice(2,0,4,5,6)
// 把arr2 变成一个适合splice的数组(包含splice前2个参数的数组)
console.log(arr1)

let myArray=[11,22,33];
console.log('原数组:',myArray);
myArray.push(44,55);
console.log('用push在数组后面插入元素:',myArray);
myArray.unshift(66,77);
console.log('用unshift在数组前面插入元素:',myArray);
myArray.splice(2,0,'肾虚少年');
console.log('用splice在数组指定位置插入元素:',myArray)

闭包:
function a(){
var name = ‘en’;
return function(){
return name
}
}
var b = a()
console.log(b())
在这段代码中,a()中的返回值是一个匿名函数,这个函数在a()作用域内部,所以它可以获取a()作用域下变量name的值,将这个值作为返回值赋给全局作用域下的变量b,实现了在全局变量下获取到局部变量中的变量的值

简单的C3动画
width:100px;
height:100px;
background:pink;
position:relative;
animation:anim 5s //如果要重复循环加 infinite alternate
-webkit-animation:anim 5s;//要兼容的浏览器

@keyframes anim{
0%{background:red;left:0px;top:0px}
25%{background:blue;left:200px;top:0px;}
50%{background:yellow;left:200px;top:200px;}
75%{background:green;left:0px;top:200px;}
100%{backgroun:black;left:0px;top:0px;}
}

等级三角形

width: 0;
height: 0;
border: 100px solid;
border-color: transparent transparent pink;

圆形
width:100px;
height:100px;
border-radius:50%;
background:pink;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值