2.1 什么是BFC?垂直margin重叠是为什么?怎么解决这个问题?
BFC是块级格式化上下文,相当于开辟了一块空间,内部的样式与其他样式互不影响。
因为同处一个BFC的父元素和子元素,相邻的父子或兄弟元素之间margin会在垂直方向上发生重叠。解决方法是将他们各种变为一个BFC,可以使用overflow:hidden;
display:inline-block/table-cell ; position: absolute/relative ; float: left/right
2.2CSS里边有那些相对单位?都是相对什么的?
em\rem:em相对于父元素,rem相对于html元素
2.3fixed相对于谁定位?如果加上transform会出现啥问题?
fixed相对于可视窗口定位,如果用了transform的话,其子元素会相对于父元素定位。
2.4什么是XSS攻击?如何解决
XSS跨站脚本攻击,是一种代码注入攻击,通过注入代码攻击者可以获取用户的铭感信息,cookie或者sessionID。
2.5为什么不推荐使用内联元素?
样式分离的好处可以其他页面共用样式、css可以缓存、页面简洁
2.6什么是原型链,原型链的终点是什么?
原型链是由原型对象组成的链,例如实例的原型是构造函数的prototype构造函数的原型的原型是Object.prototype,Object.prototype的原型是null。构造函数的原型链是Function的prototype,Function的prototype的原型链是Object.prototype
2.7cookie\session\localStorage\sessionStorage都是什么?有啥区别
cookie是页面存储数据,每次请求的时候,cookie都会自动发送给后台。
session是服务器端存储的数据,一般用来后台保存登录信息等数据的,与cookie有联系,一般cookie中都有sessionID来告诉服务器端session信息。
localstorage:页面存储信息的地方,不会岁请求的发送而发送,可以将数据保存在浏览器端,数据长期存在
sessionStorage:会话级别的存储,一般浏览器页面关闭后,对应的数据也会清除
一般cookie和session的存储是4K左右
sessionStorage与localStorage都是5M左右
2.8http状态码有哪些?301和302的区别是什么?304是指什么?
200:成功,204:服务器端接收到请求,等待前端再次发送,301:永久性重定向,302临时性重定向,304:协商缓存,服务器端不返回信息,400:请求参数有误,403:请求成功,但是服务器拒绝响应数据,404:请求url有误,500:服务器端数据错误
302临时重定向,搜索引擎会抓去新的内容,而保留旧的地址,会认为新的网址是暂时的
301永久性重定向,搜索引擎在抓去新的内容的同时也会将就的网址替换成重定向后的网址
301:比较常用的是http跳转到https,且可以是强缓存
302比如未登录的用户访问用户中心会被重定向到登录页面,redirect
2.9怎么解决跨域
我之前遇到的跨域问题是在上传的时候发生的,具体是因为上传的时候需要上传的是文件流形式,且用post的请求,因此它是一个post memi的类型,会先向微服务发送OPTIONS请求,查询是否接收跨域的POST请求,因为之前微服务没有跨域设置,所以会返回404,随后在nginx里边设置来Access-Control-Orign:‘*’后就可以正常的接受上传服务了。还有之前在页面嵌入一个iframe页面,但是好像因为是get请求,所以没有触发跨域。但是页面也需要获取一个iframe的key值,这里边是用postMessage(url, data)来发送数据。然后接受的页面在didMount里边使用window.onmessage接受页面发送来的数据,让数据跨域传输。