一、使用Flexbox實現垂直居中
Flexbox是CSS3中的一種布局模式,它可以輕鬆實現元素的水平居中和垂直居中。使用Flexbox實現垂直居中有多種方式:
1. 在父元素上設置display:flex和align-items:center,這樣子元素即可垂直居中。
.parent {
display: flex;
align-items: center;
}
2. 在父元素上設置display:flex和justify-content:center,然後在子元素上設置align-self:center,這樣子元素即可垂直居中。
.parent {
display: flex;
justify-content: center;
}
.child {
align-self: center;
}
3. 在父元素和子元素上都設置display:flex,並在父元素上設置align-items:center,子元素上設置margin:auto,這樣子元素即可垂直居中。
.parent {
display: flex;
align-items: center;
}
.child {
display: flex;
margin: auto;
}
二、使用table-cell實現垂直居中
使用CSS的table-cell屬性可以實現垂直居中,這種方式比較常用於表格布局。
1. 將父元素設置為display:table,子元素設置為display:table-cell和vertical-align:middle,這樣子元素即可垂直居中。
.parent {
display: table;
}
.child {
display: table-cell;
vertical-align: middle;
}
三、使用transform實現垂直居中
使用CSS的transform屬性可以實現垂直居中,這種方式比較巧妙。
1. 將父元素設置position:relative,子元素設置position:absolute和top:50%,然後使用transform:translateY(-50%)來實現垂直居中。
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
四、使用line-height實現垂直居中
使用CSS的line-height屬性可以實現文字的垂直居中。
1. 將父元素的line-height屬性設置為和父元素高度相同,然後在子元素上設置vertical-align:middle,這樣子元素的文字即可垂直居中。
.parent {
height: 100px;
line-height: 100px;
}
.child {
vertical-align: middle;
}
五、總結
以上幾種方法都可以實現垂直居中,具體使用哪種方式要根據實際情況而定。使用Flexbox和table-cell的方式兼容性較好,使用transform和line-height的方式需要注意瀏覽器兼容性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236331.html
微信掃一掃
支付寶掃一掃