CSS水平和垂直居中在開發(fā)中經(jīng)常用到茂蚓,在此加以總結(jié)。
水平居中方法
1.行內(nèi)元素水平居中担扑,設(shè)置父元素的text-align: center
。
<div id="box" >
<span id="content" >center</span>
</div>
#box {
text-align: center;
}
常用的行內(nèi)元素有
a
趣钱、abbr
涌献、b
、br
首有、em
燕垃、input
、label
井联、select
利术、span
、strong
低矮、sub
、sup
被冒、textarea
等军掂。
2.寬度固定的塊級元素水平居中轮蜕,設(shè)置該元素的margin: 0 auto
。
<div id="box" >
<div id="content" >center</div>
</div>
#box {
width: 64%;
margin: 0 auto;
}
常用的塊級元素有
address
蝗锥、article
跃洛、audio
、blockquote
终议、canvas
汇竭、div
、footer
穴张、form
细燎、h1
、header
皂甘、hr
玻驻、ol
、output
偿枕、p
璧瞬、pre
、section
渐夸、table
嗤锉、ul
、video
等墓塌。
3.絕對定位元素水平居中瘟忱,設(shè)置父元素position: relative
,設(shè)置該元素left: 0; right: 0; margin: 0 auto;
桃纯。
<div id="box" >
<div id="content" >center</div>
</div>
#box {
position: relative;
}
#content {
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
}
4.flex布局水平居中酷誓,設(shè)置父元素display: flex; justify-content: center
。
<div id="box" >
<div id="content" >center</div>
</div>
#box {
display: flex;
justify-content: center;
}
垂直居中方法
1.單行文本垂直居中态坦,設(shè)置該元素line-height
為父元素height
高度盐数。
<div id="box" >
<div id="content" >center</div>
</div>
#content {
height: 2em;
line-height: 2em;
}
2.將父元素顯示為表格display: table-cell
,利用vertical-align: middle
設(shè)置垂直居中伞梯。
<div id="box" >
<div id="content" >center</div>
</div>
#box {
display: table-cell;
vertical-align: middle;
}
3.絕對定位該元素并設(shè)置父元素positoin: relative
玫氢,設(shè)置該元素top:0; bottom: 0; margin: auto;
<div id="box" >
<div id="content" >center</div>
</div>
#box {
position: relative;
}
#content {
position: absolute;
top: 0;
bottom: 0;
marigin: auto;
}
4.絕對定位固定高度是,設(shè)置top: 50%
谜诫,margin-top
值為高度值的一半漾峡。
<div id="box" >
<div id="content" >center</div>
</div>
#box {
position: relative;
}
#content {
position: absolute;
height: 12em;
top: 50%;
margin-top: 6em;
}
5.flex布局,設(shè)置父元素display: flex; align-items: center
<div id="box" >
<div id="content" >center</div>
</div>
#box {
display: flex;
align-items: center;
}