亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

CSS實現垂直居中的4種思路詳解

2024-07-11 08:58:36
字體:
來源:轉載
供稿:網友

 行高line-height實現單行文本垂直居中

以前一直認為單行文本垂直居中要將高度和行高設置成相同的值,但高度其實沒必要設置。實際上,文本本身就在一行中居中顯示。在不設置高度的情況下,行高撐開高度。

<style>.test{    line-height: 50px;    background-color: lightblue;}    </style><div class="test">測試文字</div>

設置vertical-align:middle實現垂直居中

【1】設置父元素的display為table-cell

通過為table-cell元素設置vertical-align:middle,可使其子元素均實現垂直居中。這和表格里單元格的垂直居中是類似的

[注意] 若要IE7-瀏覽器支持,則可以將其改為<table>表格結構

[注意] 設置為table-cell的div不能使用浮動或絕對定位,因為浮動或絕對定位會使元素具有塊級元素特性,從而喪失了table-cell元素具有的垂直對齊的功能。

若需要浮動或絕對定位處理,則需要外面再套一層div。

<style>.parent{  display: table-cell;  vertical-align: middle;}</style><div class="parent" style="background-color: gray;height: 100px;">    <div class="child" style="background-color: lightblue;">我是有點長的有點長的有點長的有點長的測試文字</div>   </div>  

這里寫圖片描述

【2】若子元素是圖片,通過設置父元素的行高來代替高度,且設置父元素的font-size為0。

vertical-align:middle的解釋是元素的中垂點與父元素的基線加1/2 父元素中字母X的高度對齊。由于字符X在em框中并不是垂直居中的,且各個字體的字符X的高低位置不一致。

所以,當字體大小較大時,這種差異就更明顯。當 font-size為0時,相當于把字符X的字體大小設置為0,于是可以實現完全的垂直居中。

<style>.parent{  line-height: 100px;  font-size: 0;}.child{  vertical-align: middle;}</style><div class="parent" style="background-color: lightgray;width:200px;">  <img class="child" src="http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/img1.gif" width="50%" alt="test">  </div>

這里寫圖片描述

【3】通過新增元素來實現垂直居中的效果

新增元素設置高度為父級高度,寬度為0,且同樣設置垂直居中vertical- align:middle的inline-block元素。由于兩個元素之間空白被解析,所以需要在父級設置font-size:0,在子級再將 font-size設置為所需值;若結構要求不嚴格,則可以將兩個元素一行顯示,則不需要設置font-size:0。

<style>.parent{  height: 100px;  font-size: 0;}.child{  display: inline-block;  font-size: 20px;  vertical-align: middle;}.childSbling{  display: inline-block;  height: 100%;  vertical-align: middle;}</style><div class="parent" style="background-color: lightgray; width:200px;">  <div class="child" style="background-color: lightblue;">我是比較長的比較長的多行文字</div>  <i class="childSbling"></i> </div> 

 

思路三:通過絕對定位實現垂直居中

【1】若子元素不定高, 使用top50%配合translateY(-50%)可實現居中效果。
 

translate函數的百分比是相對于自身高度的,所以top:50%配合translateY(-50%)可實現居中效果。

[注意] IE9-瀏覽器不支持;

[注意]若子元素的高度已知,translate()函數也可替換為margin-top: 負的高度值。

<style>.parent{  position:relative;}.child{  position: absolute;  top: 50%;  transform: translateY(-50%);}</style><div class="parent" style="background-color: lightgray; height:100px;">  <div class="child" style="background-color: lightblue;">測試文字</div></div>  

【2】若子元素定高,結合絕對定位的盒模型屬性,實現居中效果

<style>.parent{  position: relative;}.child{ position: absolute; top: 0; bottom: 0; margin: auto 0; height: 50px;}</style><div class="parent" style="background-color: lightgray; height:100px;">  <div class="child" style="background-color: lightblue;">測試文字</div></div>

<關于增加div層級的說明>

在水平居中對齊中,元素外層套一層div并設置absolute,元素設置負margin-left或者relative的負left屬性,可以實現水平居中的效果。但由于margin是相對于包含塊寬度的,這樣margin-top:-50%得到的是寬度而不是高度的-50%,所以不可行;對于relative的百分比取值而言,在包含塊高度為auto的情況下,chrome、safari和IE8+瀏覽器都不支持設置元素的百分比top值,所以也不可行。

思路四:使用彈性盒模型flex實現垂直居中

[注意] IE9-瀏覽器不支持

【1】在伸縮容器上設置側軸對齊方式align-items: center

<style>.parent{  display: flex;  align-items: center;}</style><div class="parent" style="background-color: gray; height: 100px;">    <div class="child" style="background-color: lightblue;">測試文字</div>   </div>

【2】在伸縮項目上設置margin: auto 0

<style>.parent{  display: flex;}.child{  margin: auto 0;}</style><div class="parent" style="background-color: gray; height: 100px;">    <div class="child" style="background-color: lightblue;">測試文字</div>   </div>

總結

以上所述是小編給大家介紹的CSS實現垂直居中的4種思路詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及

時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区深夜福利| 欧美成人免费网| 91夜夜未满十八勿入爽爽影院| 欧美区在线播放| 91在线无精精品一区二区| 久久久精品2019中文字幕神马| 国产精品美女www| 亚洲国产精品成人一区二区| 一区二区三区精品99久久| 97视频在线观看免费高清完整版在线观看| 在线国产精品视频| 国产97在线亚洲| 在线看片第一页欧美| 亚洲综合视频1区| 国产精品视频资源| 欧美激情在线一区| 亚洲第一区在线| 亚洲欧美在线播放| 欧美成人精品一区| 亚洲激情电影中文字幕| 亚洲综合精品伊人久久| 色婷婷**av毛片一区| 欧美夫妻性视频| 伊人精品在线观看| 久久激情五月丁香伊人| 久久手机精品视频| 日韩欧美成人免费视频| 国产精品久久久| 欧美日韩中文字幕在线视频| 日日骚av一区| 日韩av成人在线| 日韩三级成人av网| 国产精品一区av| 久久久久久久久国产| 欧美怡春院一区二区三区| 亚洲丝袜一区在线| 成人国产精品一区二区| 亚洲精品视频免费在线观看| 红桃视频成人在线观看| 日本欧美在线视频| 久久琪琪电影院| 全色精品综合影院| 91精品久久久久久久久青青| 国产在线精品自拍| 日韩大胆人体377p| 欧美视频在线观看 亚洲欧| 欧美日韩性视频| 久久久国产精品x99av| 国产高清视频一区三区| 久久久精品久久久久| 久久精彩免费视频| 欧美精品在线看| 狠狠躁夜夜躁人人爽超碰91| 国产一区二区三区毛片| 亚洲一区二区在线| 亚洲男人天堂九九视频| 国产99久久精品一区二区永久免费| 毛片精品免费在线观看| 亚洲已满18点击进入在线看片| 欧美成人高清视频| 日韩www在线| 亚洲国产精品美女| 成人在线中文字幕| 国产亚洲精品久久久优势| www.久久色.com| 欧美一级片在线播放| 久久中文字幕在线| 揄拍成人国产精品视频| 精品激情国产视频| 日韩精品免费在线观看| 亚洲第一综合天堂另类专| 国产91精品最新在线播放| 日韩中文字幕视频| 91精品视频免费观看| 久久久久免费视频| 91亚洲国产成人精品性色| 欧美激情videoshd| 98精品国产自产在线观看| 久久国产精品99国产精| 国色天香2019中文字幕在线观看| 九九热精品视频国产| 亚洲图片欧美日产| 国产日韩欧美综合| 日本国产高清不卡| 日韩在线免费观看视频| 日韩国产中文字幕| 国产在线精品一区免费香蕉| 91精品久久久久久久久不口人| 粉嫩老牛aⅴ一区二区三区| 国产精品普通话| 欧美日韩在线视频一区二区| 97人洗澡人人免费公开视频碰碰碰| 91中文在线视频| 亚洲精品永久免费| 国产精品欧美亚洲777777| 亚洲毛茸茸少妇高潮呻吟| 欧美日韩人人澡狠狠躁视频| 日本亚洲欧美三级| 国产精品久久久久av| 欧美日韩精品在线| 亚洲国产一区二区三区在线观看| 91免费的视频在线播放| 亚洲欧美另类中文字幕| 日韩免费精品视频| 亚洲人精品午夜在线观看| 成人妇女免费播放久久久| 亚洲国产精彩中文乱码av| 久久免费在线观看| 欧美午夜宅男影院在线观看| 高清欧美一区二区三区| 精品中文字幕在线观看| 国产va免费精品高清在线| 日韩电影中文字幕一区| 国产精品va在线播放我和闺蜜| 亚洲精品国产欧美| 92福利视频午夜1000合集在线观看| 高跟丝袜一区二区三区| 国产亚洲精品高潮| 欧美在线激情网| 91精品国产自产91精品| 亚洲丝袜av一区| 国产一区二区三区日韩欧美| 亚洲免费中文字幕| 久久精品国亚洲| 色yeye香蕉凹凸一区二区av| 亚洲女人天堂视频| 91久久精品久久国产性色也91| 在线观看成人黄色| 亚洲精品一区中文| 美日韩精品免费视频| 性欧美长视频免费观看不卡| 国产精品久久在线观看| 在线午夜精品自拍| 亚洲一区亚洲二区亚洲三区| 久久偷看各类女兵18女厕嘘嘘| 韩国日本不卡在线| 91豆花精品一区| 91香蕉嫩草影院入口| 欧美乱大交xxxxx| 夜夜躁日日躁狠狠久久88av| 久久精品色欧美aⅴ一区二区| 国产精品福利观看| 亚洲香蕉成视频在线观看| 欧美精品在线免费播放| 久久久电影免费观看完整版| 亚洲综合一区二区不卡| 久久精品国产亚洲| 欧美在线影院在线视频| 亚洲伊人一本大道中文字幕| 日韩中文字幕视频在线| 日韩精品极品在线观看播放免费视频| 欧美成人合集magnet| 欧美日韩国产一区在线| 成人国产精品一区二区| 免费91麻豆精品国产自产在线观看| 影音先锋欧美精品| 亚洲乱码一区av黑人高潮| 欧美日韩在线观看视频小说| 视频直播国产精品| 中文字幕久久亚洲| 国产精品亚洲一区二区三区| 日韩av大片免费看| 久青草国产97香蕉在线视频| 91av视频在线免费观看|