position: absolute;
width: 宽度;
left: 50%;
margin-left: -0.5*宽度
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
left: 50%;
margin-left: -50px;
}
.inline {
background: pink;
position: absolute;
width: 100px;
left: 50%;
margin-left: -50px;
}
position:absolute和float会隐式地改变display类型,不论之前什么类型的元素(display:none除外), 只要设置了position:absolute、 float中任意一个,都会让元素以display:inline-block的方式显示:可以设置长宽,默认宽度并不占满父元素。
position: absolute;
left: 50%;
transform: translate(-50%, 0);
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
left: 50%;
transform: translate(-50%, 0);
}
.inline {
background: pink;
position: absolute;
width: 100px;
left: 50%;
transform: translate(-50%, 0);
}
position: absolute;
width: 宽度;
left: 0;
right: 0;
margin: 0 auto;
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
}
.inline {
background: pink;
position: absolute;
width: 100px;
left: 0;
right: 0;
margin: 0 auto;
}
===============================================================
父元素 height: 高度;
行内元素 line-height: 高度;
.parent {
background: #eee;
width: 300px;
height: 300px;
}
.inline {
background: pink;
line-height: 300px;
}
父元素 display: table-cell;
子元素 vertical-align: middle;
.parent {
background: #eee;
width: 300px;
height: 300px;
display: table-cell;
vertical-align: middle;
}
display: flex;
align-items: center;
.parent {
background: #eee;
width: 300px;
height: 300px;
display: flex;
align-items: center;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
}
.inline {
background: pink;
}
position: absolute;
top: 50%;
height: 高度;
margin-top: -0.5高度;
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
top: 50%;
margin-top: -50px;
}
.inline {
background: pink;
height: 100px;
position: absolute;
top: 50%;
margin-top: -50px;
}
position: absolute;
top: 50%;
transform: translate( 0, -50%);
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
top: 50%;
transform: translate( 0, -50%);
}
.inline {
background: pink;
height: 100px;
position: absolute;
top: 50%;
transform: translate( 0, -50%);
}
position: absolute;
height: 高度;
top: 0;
bottom: 0;
margin: auto 0;
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
top: 0;
bottom: 0;
margin: auto 0;
}
.inline {
background: pink;
position: absolute;
height: 100px;
top: 0;
bottom: 0;
margin: auto 0;
}
===================================================================
绝对定位 transform
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%)
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50% ,-50%);
}
绝对定位 margin
position:absolute;
top:50%;
left:50%;
margin-top:-(height/2)px;
margin-left:-(width/2)px;
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -50px;
}
绝对定位 margin:auto
position:absolute/fixed;
top:0;left:0;right:0;bottom:0;
margin:atuo;
.parent {
background: #eee;
width: 300px;
height: 300px;
position: relative;
}
.block {
background: skyblue;
width: 100px;
height: 100px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
绝对定位 calc 水平、垂直居中也可以使用此方法
position:absolute;
top:calc(50% - (height/2)px);
left:calc(50% - (width/2)px);
总结
我在成长过程中也是一路摸爬滚打,没有任何人的指点,所以走的很艰难。例如在大三的时候,如果有个学长可以阶段性的指点一二,如果有已经工作的师兄可以告诉我工作上需要什么,我应该前面的三年可以缩短一半;后来去面试bat,失败了有5、6次,每次也不知道具体是什么原因,都是靠面试回忆去猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。
round: skyblue;
width: 100px;
height: 100px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
绝对定位 calc 水平、垂直居中也可以使用此方法
position:absolute;
top:calc(50% - (height/2)px);
left:calc(50% - (width/2)px);
总结
我在成长过程中也是一路摸爬滚打,没有任何人的指点,所以走的很艰难。例如在大三的时候,如果有个学长可以阶段性的指点一二,如果有已经工作的师兄可以告诉我工作上需要什么,我应该前面的三年可以缩短一半;后来去面试bat,失败了有5、6次,每次也不知道具体是什么原因,都是靠面试回忆去猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。
[外链图片转存中…(img-TnRml92J-1718005174310)]