tft每日頭條

 > 生活

 > div垂直居中怎麼設置css

div垂直居中怎麼設置css

生活 更新时间:2024-07-28 21:12:36

在實際工作中,經常會遇到容器居中問題,而CSS容器水平和垂直居中的方法,網絡上已經有很多相關文章,在這裡,我也對工作中用到的一些居中方法進行了總結,并加入了一些自己的觀點,如有錯誤歡迎指正。

假設有如下html和樣式,我們需要将inner容器居中:

div垂直居中怎麼設置css(前端必看幹貨有了它)1

一、絕對定位:首先讓outer相對定位relative,其次讓inner絕對定位absolute,同時left和top都是50%,此時inner的左上角在outer的正中間,所以,隻要讓它margin-left和margin-top都是負的自身高度的一半即可:

div垂直居中怎麼設置css(前端必看幹貨有了它)2

效果如下:

div垂直居中怎麼設置css(前端必看幹貨有了它)3

此外,這種寫法的:

margin-left和margin-top也可以換成transform:translate(-100px,-100px)。

注:這裡的inner是必須要有寬高

二、絕對定位2:首先讓outer相對定位relative,其次讓inner絕對定位absolute,四個方向的距離都為0,再加上margin:auto即可:

div垂直居中怎麼設置css(前端必看幹貨有了它)4

效果如下:

div垂直居中怎麼設置css(前端必看幹貨有了它)5

注:這裡的inner是必須要有寬高的,因為四個方向都為0,一旦不寫寬度,inner就會“觸及底線”。

三、模拟單元格table-cell:因為表格單元格的vertical-align:middle,可以輕松讓裡面的内容垂直居中,這個方法就是利用這個特性來實現垂直居中的:

div垂直居中怎麼設置css(前端必看幹貨有了它)6

注:1、outer由于變成了表格,不再像普通的塊容器寬度默認一整行,所以要加上寬度。

2、這個方法既适用于固定高度的容器,也适用于不固定高度的容器。

四、CSS3的flex:outer要變成flex容器,并且垂直居中用align-items: center,水平居中用:justify-content: center

div垂直居中怎麼設置css(前端必看幹貨有了它)7

注:此方法非常好用,當然不考慮兼容性。而且,inner無論是否有寬高都适用。

五、CSS3的flex配合margin:此方法可以被視為上面的升級版,outer要變成flex容器,inner邊距自動即可

div垂直居中怎麼設置css(前端必看幹貨有了它)8

注:此方法非常好用,當然不考慮兼容性。而且,inner無論是否有寬高都适用。

好東西就要總結起來,好東西就要收藏起來,随着浏覽器兼容性越來越好,上面的很多方法已經可以放心使用了。當然,如果各位有更好的方法,歡迎在下方評論留言哦!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved