亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

實現(xiàn)css文字垂直居中的8種方法

瀏覽:207日期:2022-06-02 17:36:40

注:以下demo都只是針對現(xiàn)代瀏覽器所做,未兼容低版本的IE以及其他非主流瀏覽器。

實現(xiàn)css文字垂直居中的8種方法如下:

1.使用絕對定位和負(fù)外邊距對塊級元素進(jìn)行垂直居中

css垂直居中效果:

css垂直居中實現(xiàn)代碼:

這個方法兼容性不錯,但是有一個小缺點:必須提前知道被居中塊級元素的尺寸,否則無法準(zhǔn)確實現(xiàn)垂直居中。

2.使用絕對定位和transform

代碼如下:

這種方法非常明顯的好處就是不必提前知道被居中的元素的尺寸,因為transform中偏移的百分比就是相對于元素自身的尺寸而言。

3.絕對定位結(jié)合margin:auto

這種方式的兩個核心是:把要垂直居中的元素相對于父元素絕對定位,top和bottom設(shè)置為相等的值,我這里設(shè)置成0了,當(dāng)然也可以設(shè)置為99999px或者-99999px,無論什么,只要兩者相等就行。這一一步做完之后再將要居中的元素的margin設(shè)為auto,這樣就可以實現(xiàn)垂直居中了。

被居中元素的寬度也可以不設(shè)置,但是不設(shè)置的話,就必須是圖片這種自身就包含尺寸的元素,否則無法實現(xiàn)。

4.使用padding實現(xiàn)子元素的垂直居中

這種方式非常簡單,就是給父元素設(shè)置相等的上下內(nèi)邊距,則子元素自然是垂直居中的,自然這個時候父元素是不能設(shè)置高度的,要讓它自動被填充起來,除非設(shè)置了一個正好等于上內(nèi)邊距+子元素高度+下內(nèi)邊距的值,否則無法精確地垂直居中。

這種方式看似沒有什么技術(shù)含量,但其實在某種場景下也是非常好用的。

5.使用flex布局

flex布局(彈性布局/伸縮布局)里門道頗多,這里先針對用到的東西簡單說一下,想深入學(xué)習(xí)的小伙伴可以去看阮一峰老師的博客。

flex也就是flexible,意思為靈活的,柔韌的,易彎曲的。

元素可以通過設(shè)置display:flex;將其指定為flex布局的容器,指定好了容器之后再為其添加align-items屬性,該屬性定義項目在交叉軸(這里是縱向周)上的對齊方式,可能的取值有五種,分別如下:

flex-start:交叉軸的起點對齊;flex-end:交叉軸的重點對齊;

center:交叉軸的重點對齊;baseline項目第一行文字的基線對齊;

strech(該值是默認(rèn)值):如果項目沒有設(shè)置高度或者設(shè)置為auto,那么將占滿整個容器的高度。

6.彈性布局

這種方式也是給父元素設(shè)置display:flex,設(shè)置好之后改變主軸的flex-direction:column,該屬性可能的取值有四個,分別如下:

row(該值為默認(rèn)值):主軸為水平方向,起點在左端;

row-reverse,主軸是水平方向,起點在有端;

column主軸為垂直方向,起點在上沿;

column-reverse:主軸為垂直方向,起點在下沿。

justify-content屬性定義了項目在主軸上的對齊方式,可能取的值有五個,分別如下(不過具體的對齊方式與主軸的方向有關(guān),以下的值都是假設(shè)主軸為從左到右的):

flex-staart(該值是默認(rèn)值):左對齊;

flex-end:右對齊;

center:居中對齊;

space-between:兩端對齊,各個項目之間的間隔均對齊;

space-around:各個項目兩側(cè)的間隔相等。

7.還有一種在前面已經(jīng)見到過很多次的方式就是使用line-height對單行文本進(jìn)行垂直居中

這里有一個小坑需要大家注意:line-height(行高)的值不能設(shè)為100%;我們來看看官網(wǎng)文檔中給出的關(guān)于line-height取值為百分比時候的描述:基于當(dāng)前字體尺寸的百分比行間距,所以大家就明白了,如果是百分比是相對于字體尺寸來講的。

8.使用display和vertical-align對容器里的文字進(jìn)行垂直居中

這里關(guān)于vertical-align啰嗦兩句:vertical-align屬性只對擁有valign特性的html元素起作用,例如表格元素中的<td><th>等等,而像<div><span>這樣的元素是不行的。

valign屬性規(guī)定單元格中內(nèi)容的垂直排列方式,語法:<tdvalign="value">,value的可能取值有四種:

top:對內(nèi)容進(jìn)行上對齊

middle:對內(nèi)容進(jìn)行居中對齊

bottom:對內(nèi)容進(jìn)行下對齊

baseline:基線對齊

關(guān)于baseline值:基線是一條虛構(gòu)的線。在一行文本中,大多數(shù)字母以基線為基準(zhǔn)。baseline值設(shè)置行中的所有表格數(shù)據(jù)都分享相同的基線。該值的效果常常與bottom值相同。不過,如果文本的字號各不相同,那么baseline的效果會更好。

更多關(guān)于CSS垂直居中的方法大家可以參考本文下面的相關(guān)文章或者咨詢我們的小編

標(biāo)簽: CSS HTML
相關(guān)文章:
主站蜘蛛池模板: 伊人久久婷婷丁香六月综合基地 | 国产日韩精品欧美一区色 | 久久精品国产999大香线焦 | 香港毛片免费观看 | 一级黄色免费观看 | 黄色短视频免费观看 | 亚洲桃色视频 | 尤物网站永久在线观看 | 99亚洲精品高清一二区 | 免费特级片| a级在线看 | 色影影院 | 亚洲精品入口一区二区在线播放 | 色5月婷婷 | 最新91网址 | 日本欧美一区二区三区不卡视频 | 国产伦精一区二区三区 | 骚骚精品免费看 | 日本无卡无吗在线 | 播放黄色一级片 | 亚欧乱色视频大全 | 91天天操 | 免费日比视频 | 国产在线激情视频 | 开心网五月色婷婷综合图片 | 欧美成人午夜精品一区二区 | 五月婷婷久久综合 | 深夜国产 | 免费黄色短视频 | 国产盗摄福利视频 | 成年男女免费大片在线观看 | 日韩在线视频免费播放 | 黄色免费网站在线看 | a级一级片 | 国产欧美日韩综合精品无毒 | 国产黄色片91 | 99re5久久在热线播放 | 久久综合精品国产一区二区三区 | 色老成人精品视频在线观看 | 图片一区| 欧美日韩一区二区在线观看视频 |