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

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

利用純CSS實現(xiàn)居中的七大方法示例

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

前言

記得有次找工作面試的時候,一面試官問了一個CSS方面的問題:如何讓元素在瀏覽器窗口中上下左右居中。我記得當(dāng)時給了個答案是,先用JS獲取瀏覽器窗口高度,然后給body設(shè)置line-height為窗口高度并設(shè)置text-align:center, 接著再設(shè)置該元素display:inline-block和vertical-align:middle。唉,現(xiàn)在想想自己都覺得累。

難道就一定要用到JS嗎?就不能有一種只用CSS方法就能實現(xiàn)元素居中的方法嗎?答案是,有!而且方法遠不止一種!

一、line-height居中法

父元素:text-align: center; line-height:600px; font-size: 0;

子元素:display: inline-block; vertical-align: middle;
 

注:600px必須為父元素的高度,這里還需注意的一點是font-size需設(shè)為零,若未寫該屬性將導(dǎo)致元素并不能精確垂直居中。該方法即為我面試時所答的方法,缺點很明顯,父元素高度須確定。(兼容IE8+)

二、table-cell居中法

父元素:display: table-cell; text-align: center; vertical-align: middle;

子元素:display: inline-block;
 

注:兼容IE8+

三、上下左右定位+margin居中法

父元素:position: relative;

子元素:position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto;
 

注:兼容IE8+

四、50%定位+margin居中法

父元素:position: relative;

子元素:position: absolute; left: 50%; top: 50%; margin: -200px 0 0 -200px;
 

注:200px須為該子元素的寬高的一半。例如該子元素寬為100px,高為50px,那么margin取值為-25px 0 0 -50px。該方法缺點是須確定子元素寬高。(兼容IE8+)

五、50%定位+translate居中法

父元素:position: relative;

子元素:position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
 

注:該方法使用了CSS3 transform屬性,適合用于移動端。(兼容IE9+)

六、Flexbox居中法

父元素:display: flex; justify-content: center; align-items: center;
 

注:該方法使用了Flexbox彈性布局,移動端兼容性也存在很大問題。(兼容IE10+)

七、Flexbox+margin居中法

父元素:display: flex;

子元素:margin: auto;
 

注:同上,兼容IE10+

總結(jié)

以上就是今天所要介紹的七種純CSS居中方法,各有各的優(yōu)缺點,須根據(jù)實際情況選擇最佳方案,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉门市| 蒙阴县| 望谟县| 读书| 无棣县| 元谋县| 岳阳市| 肃北| 丰镇市| 德格县| 武山县| 鄢陵县| 卓资县| 松桃| 巍山| 武平县| 峨边| 辽源市| 南投县| 奉节县| 当涂县| 旅游| 上栗县| 大姚县| 平安县| 秦皇岛市| 抚宁县| 泰和县| 平潭县| 遂川县| 墨玉县| 唐海县| 清远市| 大名县| 乌拉特前旗| 荣昌县| 瑞丽市| 左云县| 左云县| 富蕴县| 平谷区|