div{
position: absolute;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
background-color: blueviolet;
transform: translate(-50%,-50%);
}
清除浮动的方式以及原理
运用媒体查询 在不同屏幕的屏幕使用不同的容器宽度
从高到低排列
1.id选择器(#myid)
2.类选择器(.myclassname)
3.标签选择器(div,h1,p)
4.相邻选择器(h1+p)
5.子选择器(ul > li)
6.后代选择器(li a)
7.通配符选择器(*)
8.属性选择器(a[rel=“external”])
9.伪类选择器(a:hover, li:nth-child)
px
相对于长度单位,像素px是相对于显示器屏幕分辨率而言的
特点
em
em是相对当前对象内文本的字体尺寸,比如当前行内文本没有设置大小,则相对于浏览器的默认字体尺寸
特点
flex 盒子实现方法
.box {
display: flex;
justify-content: space-around;
text-align: center;
}
.box div:first-child,
.box div:last-child {
width: 200px;
height: 200px;
background-color: cadetblue;
}
.box div:nth-child(2) {
flex: 1;
background-color: cornflowerblue;
}
gird布局方式
.box {
display: grid;
grid-template-columns: 200px auto 200px;
text-align: center;
}
.box div:first-child,
.box div:last-child {
background-color: cadetblue;
height: 200px;
}
.box div:nth-child(2) {
height: 200px;
background-color: cornflowerblue;
}
样式结构
<div class="box">
<div>
我是左边
</div>
<div>
我是中间
</div>
<div>
我是右边
</div>
</div>
字符串加任何数字都等于拼接
54
隐式转换做加法
+“5”+4 等于 9
-“5”+4 等于 -1
项目开发流程
axios封装请求
三种状态
一个简单的promise例子
var p = new Promise((resolve, reject) => {
// 要处理的请求
resolve("成功")
// 请求失败返回
reject('失败')
})
p.then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
开放性题目
原型链和继承
跨域方式及实现原理
css垂直居中的十二种方式
标签为 input 元素定义标注(标记)。
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
标签的 for 属性应当与相关元素的 id 属性相同。
相同点:
em:
rem:
const arr=[1,2,3,4,5,6,7,8,9,10,11,12]
随机排序
function randomSort(a,b){
return Math.random()>0.5?-1:1
}
从小到大
function randomSort(a, b) {
return a-b;
}
从大到小排序
function randomSort(a, b) {
return b-a;
}
var lastName="zzhangsan"
var init=(function(){
var lastName="lisi"
function fun1(){
console.log(lastName)
}
return fun1
})()
init() lisi 不污染全局变量