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>第一轮的时候最后一个元素应该是最大的一个
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{}
*/
}
6.常见的http状态码:
200 -------ok,请求成功
301-------Moved Permanently,资源(网页等) 被永久转移到其他URL
302-------Found
307-------Temporary Redirect , 临时重定向,请求的文档被临时移动到了别处
304--------Not Modified 未修改,表示客户端缓存的版本是最近的
401-------Unauthorized,请求要求用户的身份认证
403-------Forbidden , 禁止,服务器理解客户端请求
404-----Not Found, 请求的资源(网页等)不能存在
500------内部服务器错误
502-----充当网关或代理的服务器从远端服务器接收到了一个无效请求
504-----充当网关或代理的服务器,未及时从远端服务器获取请求
7.如何配置跨域请求:
jsonp(jsonp的原理是动态插入script标签)
document.domain+iframe
window.name、windown.postMessage
服务器上设置代理页面
8.cookies,session,sessionStorage,LocalStorage的区别:
https://www.cnblogs.com/pengc/p/8714475.html