一、用纯CSS创建一个三角形
<style type="text/css">
div{
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid transparent;
border-left: 40px solid transparent;
border-bottom: 40px solid #ff0000;
}
</style>
</head>
<body>
<div></div>
</body>
二、display:none和visibility:hidden的区别
—— display:none隐藏对应的元素,在文档布局中不再给它分配空间,它各边的元素会合拢,就当他从来不存在。
——visibility:hidden隐藏对应的元素,但是在文档布局中仍保留原来的空间。
三、CSS中link和@import的区别是?
——link属于XHTML标签,而@import是CSS提供的。
——页面被加载时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载。
——import只在IE 5以上才能识别,而link是XHTML标签,无兼容问题。
——link方式的样式权重高于@import的权重。
——使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
四、为什么Vue中的data必须是一个函数
——对象为引用类型,当重用组件时,由于数据对象都指向同一个data对象,当在一个组件中修改data时,其他重用的组件中的data会同时被修改;而使用返回对象的函数,由于每次返回的都是一个新对象(Object的实例),引用地址不同,则不会出现这个问题。
五、localStorage与sessionStorage与cookie的区别总结
- 共同点:都保存在浏览器端,且同源
- localStorage与sessionStorage统称webStorage,保存在浏览器,不参与服务器通信,大小为5M
- 生命周期不同:localStorage永久保存,sessionStorage当前会话,都可手动清除
- 作用域不同:不同浏览器不共享local和session,不同会话不共享session
- Cookie:设置的过期时间前一直有效,大小4k,有个数限制,各浏览器不同,一般为20个,携带在HTTP头中,过多会有性能问题,可自己封装,也可用原生
六、http和https
—http:最广泛网络协议,BS模型,浏览器高效
—https:安全版,通过SSL加密,加密传输,身份认证,密钥
- https相对于http加入了ssl层,加密传输,身份认证
- 需要到ca申请收费的证书
- 安全但是耗时多,缓存不是很好
- 注意兼容http和https
- 连接方式不同,端口号也不同,http是80,https是443
七、http状态码
- 1**:服务器收到请求,需请求者进一步操作
- 2**:请求成功
- 3**:重定向,资源被转移到其他URL了
- 4**:客户端错误,请求语法错误或没有找到相应资源
- 5**:服务端错误,server error
- 301:资源(网页等)被永久转移到其他URL,返回值中包含新的URL,浏览器会自动定向到新URL
- 302:临时转移,客户端应访问原有URL
- 304:Not Modified.指定日期后未修改,不返回资源
- 403:服务器拒绝执行请求
- 404:请求的资源(网页等)不存在
- 500:内部服务器错误