🚀作者简介
主页:水香木鱼的博客
专栏:CSS3
能量:🔋容量已消耗1%,自动充电中…
笺言:用博客记录每一次成长,书写五彩人生。
📒技术聊斋
(一)水平居中
1、text-align: center
<div class="wrapper wrapper1">
<span>行内,text-align: center;</span>
</div>
.wrapper1 {
text-align: center;
}
效果:
2、margin: 0 auto;
<div class="wrapper wrapper2">
<div>
块元素
<p>(定宽度)</p>
<p>margin: 0 auto</p>
</div>
</div>
.wrapper2 div {
width: 100px;
margin: 0 auto;
}
效果:
3、 text-align: center + display: inline;【无宽高时使用】
<div class="wrapper wrapper3">
<div>块元素(不定宽度)</div>
</div>
.wrapper3 {
text-align: center;
}
.wrapper3 div {
display: inline;
}
效果:
4、justify-content: center【flex实现】
<div class="wrapper wrapper4">
<div>
块元素
<p>flex实现</p>
<p>(定不定宽度可以)</p>
</div>
</div>
.wrapper4 {
display: flex;
justify-content: center;
}
效果:
(二)垂直居中
1、line-height【行高实现】
<div class="wrapper wrapper5">
<span>单行的行内元素,设置行高</span>
</div>
.wrapper5 {
line-height: 150px;
}
效果:
2、display: table-cell; vertical-align: middle;
<div class="wrapper wrapper6">
<span>多行的行内元素,多行的行内元素,
多行的行内元素,多行的行内元素,
多行的行内元素,多行的行内元素
</span>
</div>
.wrapper6 {
display: table-cell;
vertical-align: middle;
}
效果:
3、 position: absolute; top: 50%; margin-top: -50px;【定位实现】
<div class="wrapper wrapper7">
<div>块级元素(定高度)</div>
</div>
.wrapper7 {
position: relative;
}
.wrapper7 div {
height: 100px;
position: absolute;
top: 50%;
margin-top: -50px;
}
效果:
4、align-items: center;【flex实现】
<div class="wrapper wrapper8">
<div>
块级元素
<p>flex实现</p>
<p>(定不定高度可以)</p>
</div>
</div>
.wrapper8 {
display: flex;
align-items: center;
}
效果:
(三)水平垂直居中
1、已知宽高【定位+margin:auto】
<div class="wrapper wrapper9">
<div>
块级元素
<p>已知宽高</p>
</div>
</div>
.wrapper9 {
position: relative;
}
.wrapper9 div {
width: 100px;
height: 100px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
效果:
2、已知宽高【定位+外边距】
<div class="wrapper wrapper10">
<div>
块级元素
<p>已知宽高</p>
</div>
</div>
.wrapper10 {
position: relative;
}
.wrapper10 div {
width: 100px;
height: 100px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -50px;
margin-top: -50px;
}
效果:
3、未知宽高【定位+transform】
<div class="wrapper wrapper11">
<div>
块级元素
<p>未知宽高</p>
</div>
</div>
.wrapper11 {
position: relative;
}
.wrapper11 div {
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
}
效果:
4、未知宽高【flex实现】
<div class="wrapper wrapper12">
<div>
块级元素
<p>flex实现</p>
<p>未知宽高</p>
</div>
</div>
.wrapper12 {
display: flex;
justify-content: center;
align-items: center;
}
效果: