面试题1

238 阅读2分钟

1.说一下弹性盒

首先我们要将display设置为flex,然后就是相应的属性

  • 容器属性
    • flex-direction:方向
    • justify-content
    • align-items
    • flex-wrap:是否换行
    • flex-flow:direction和flex-wrap的合体
    • align-content:多跟轴线的对齐方式
  • 项目属性
    • order:定义项目的排列顺序
    • flex-grow:项目的放大比例
    • flex-shrink:项目的缩小比例
    • flex-basis:分配多余空间之前,项目占据的主轴空间
    • flex:flex-grow,flex-shrink, flex-basis的合体
    • item-self:定义单个项目的class

2.你了解怪异盒模型吗

首先怪异盒模型是设置box-sizing:border-box,然后就是设置为怪异盒模型的元素在计算内容大小的时候,并不会将padding以及border加上即可

3.自适应宽度或者高度

  • 方式一:可以使用vw以及vh来实现自适应高度
  • 方式二:媒体查询

4. 实现div水平垂直居中

  • 绝对定位:通过transform以及lef和top
  • 绝对定位:

div {
    width:600px;   height: 600px;   background:red;   position: absolute;    left: 50%;
    top: 50%;
    margin-left: -300px;
    margin-top: -300px;

}

  • 绝对定位

div {
    width:600px;   
    height: 600px;   
    background:red;   
    position: absolute;    
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin-left: -300px;
    margin-top: -300px;

}

  • flex
  • table-cell

.table-cell {    display: table-cell;    vertical-align: middle;    text-align: center;    width: 240px;    height: 180px;    border:1px solid #666;}

5. dispaly:none 和visibility:hidden的区别

display被隐藏后,不会占用空间,visibility隐藏后,还会继续占用空间的

6.使用div+css的优点

  • 符合w3c的标准
  • 对浏览器和浏览者更具亲和力
  • 页面加载速度更快
  • 对于搜索引擎更加友好

7. 跨域的方式

  • jsonp
  • CORS跨域,通过服务器添加header("Access-Control-Allow-Origin": "*")
  • postMessage方法,第一个参数是具体的内容,第二个参数是接受消息的窗口的源,也可以设置为"*"

8. cookie和session的区别

  • cookie是存储在本地的,session是存储在服务器上的
  • cookie是可以设置过期时间的,而session是会话级别的,只要关闭窗口就消失
  • cookie是由大小限制的,最大是4kb,但是session没有限制的

9. 介绍一下vuex

首先是组件内部派发一个action,然后这个action传递给mutations,mutations接受到这个action执行响应的函数,修改状态,然后重新渲染组件