国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS實現(xiàn)垂直居中的幾種方法小結

2024-07-11 08:59:59
字體:
供稿:網(wǎng)友

在前端布局過程中,我們實現(xiàn)水平居中比較簡單,一般通過margin:0 auto;和父元素 text-align: center;就能實現(xiàn)。但要實現(xiàn)垂直居中就沒有那么容易,下面向大家分享下我工作中實現(xiàn)垂直居中的幾種方法。

1、line-height等于hieght/只設line-height

這種方法比較適合文字的居中,其核心是設置行高(line-height)等于包裹他的盒子的高,或者不設高度只設行高,這種適合文字居中且高度固定的場景,使用起來比較方便也比較有用。

//html<div class="middle">555</div> //css.middle{  height: 50px;  line-height: 50px;  background: red;}

值得注意的是

如果是行內(nèi)元素,因為其沒有高度,需先把行內(nèi)元素轉(zhuǎn)換為行內(nèi)塊或者塊元素。

2、vertical-align: middle

這種實現(xiàn)元素的居中需要配合父元素設有等于自身高度的行高,且此元素是行內(nèi)塊元素。 只有三個條件都具備,才能實現(xiàn)垂直居中。代碼如下:

//html<div class="main">   <div class="middle"></div></div>//css.main {  width: 200px;  height: 300px;  line-height: 300px;  background: #dddddd;}.middle{  background: red;  width: 200px;  height: 50px;  display: inline-block;//或者display: inline-table;  vertical-align: middle;}

需要注意的是這種方法需要一個固定的行高,且實現(xiàn)的居中其實是 近似居中 ,并不是真正意義的居中。

3、絕對定位加負外邊距

這種方法核心在于先設置需要居中的元素為絕對定位,在設置其top:50%; 加上 margin-top等于負的自身高度的一半來實現(xiàn)居中。好處是實現(xiàn)起來比較方便,且父元素的高度可以為百分比,也不用設行高。代碼如下:

//html<div class="main">  <div class="middle"></div></div>  //css.main {  width: 60px;  height: 10%;  background: #dddddd;  position: relative;//父元素設為相對定位}.middle{  position: absolute;//設為絕對定位  top: 50%;//top值為50%  margin-top: -25%;//設margin-top為元素高度的一半  width: 60px;  height: 50%;  background: red;}

4、絕對定位加margin:auto

先上代碼:

//html<div class="main">  <div class="middle"></div></div>  //css.main {  width: 60px;  height: 10%;  background: #dddddd;  position: relative;//父元素設為相對定位}.middle{  width: 30%;  height: 50%;  position: absolute;//設為絕對定位  top: 0;  bottom: 0;//top、bottom設0即可,  left: 0;//如果left、right也設為0則可實現(xiàn)水平垂直都居中  right: 0;  margin:auto;  background: red;}

這種方法好處是 不止可以實現(xiàn)垂直居中,還可以實現(xiàn)水平居中 ,壞處是在網(wǎng)絡或性能不好的情況下 會有盒子不直接定到位的情況 ,造成用戶體驗不好。

5、flex布局

flex布局可以很方便的實現(xiàn)垂直與水平居中,好處很多,在移動端使用比較廣泛,壞處就是 瀏覽器兼容性不好 。代碼如下:

//html<div class="main">  <div class="middle"></div></div> //css.main {  width: 60px;  height: 10%;  background: #dddddd;  display: flex;//設為flex  justify-content: center;//水平居中  align-items: center;//垂直居中}.middle{  width: 30%;  height: 50%;  background: red;}

總結

以上所述是小編給大家介紹的CSS實現(xiàn)垂直居中的幾種方法小結,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广西| 白城市| 万荣县| 建昌县| 乡城县| 都安| 湖南省| 穆棱市| 西林县| 新闻| 东乌珠穆沁旗| 弋阳县| 吴忠市| 乡城县| 舞钢市| 墨竹工卡县| 佛坪县| 涪陵区| 哈巴河县| 天柱县| 石楼县| 宁波市| 宽城| 泰宁县| 平和县| 衡阳县| 沅江市| 蒙城县| 确山县| 双柏县| 宾川县| 高青县| 都安| 苍梧县| 明溪县| 会东县| 天柱县| 万盛区| 萍乡市| 阜城县| 和政县|