国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 安福县| 辽阳市| 宣汉县| 宕昌县| 唐海县| 吴江市| 昆明市| 佛山市| 邯郸市| 榆社县| 上高县| 江永县| 皮山县| 石柱| 璧山县| 两当县| 大同市| 南木林县| 元氏县| 卓尼县| 会泽县| 卫辉市| 洪雅县| 康平县| 惠州市| 来宾市| 涿鹿县| 文成县| 布拖县| 惠水县| 余姚市| 姜堰市| 祁连县| 梨树县| 土默特右旗| 无棣县| 柘荣县| 绍兴市| 嵊泗县| 璧山县| 龙川县|