德赛维面试

1.什么是BFC,如何触发BFC?

  BFC(块级格式上下文),是指浏览器中创建了一个独立的渲染区域,该区域内所有元素的布局不会影响到区域外元素的布局,这个渲染区域只对块级元素起作用

  触发BFC:

    1>float的值不为none;

    2>overflow的值不为Visible;

    3>display:table-cell;或者table-caption,inline-block

    4>positon的值不为relative,和static

在同一个BFC中两个相邻的盒子在垂直方向发生了margin重叠的问题

2.用js写冒泡排序?

  思路:a>比较两个相邻元素,如果后一个比前一个大,则交换位置

     b>第一轮的时候最后一个元素应该是最大的一个

扫描二维码关注公众号,回复: 7780098 查看本文章

     c>按照第一步的方法进行两个相邻的元素比较,由于最后一个元素已经是最大的了,所以最后一个元素不用比较。

代码实现:

  function Sort(element){

    for(var i = 0;i<element.length-1;i++){//控制循环

      for(var j = 0; j<element.length-i-1;j++){

        if(element[j]>element[j+1])

        {//把大的数放到后面

          var swap = element[j];

          element[j] = element[j+1];

          element[j+1] = swap;

          }

      }

      }

    }

3.实现垂直居中?

    1》已知宽高:

      margin : 0 auto;

      或者:position:absolute;top:50%; margin-top:-(宽度)/2;

    2》未知宽高

        position:absolute; top:50%; transform:translateY(-50%);

        或者display:flex;  justify-content: center;  align-items: center;

4.301,304,403分别是什么错误?

5.animate,和transition的区别?

  1》transition:它的属性是一个简单的动画属性,是animation的简化版本,是给普通做简单网页特效用的;只有两个关键帧,开始和结束。对元素某个属性或多个属性的变化,进行控制。

  transition : all 1s   ease-out;

  2》animaton:是动画属性,对元素某个属性或多个属性的变化,进行控制,可一设置多个关键帧。

    用法:  .context{

          animate: move  2s(动画时间)  ease  0s (开始时间) 2(播放次数)  alternate(反向) 

/*normal 不反向,infinite规定播放无数次*/

          }

      @keyframes move{

      0%{。。。。}

      25%{。。。。}

      50%{。。。。}

      75%{。。。。}

      100%{。。。。}

/*还可以是 from{}   

      to{}

*/

      }

猜你喜欢

转载自www.cnblogs.com/hou-yuan-zhen/p/11815977.html