摘要:垂直居中表格布局法為什么就能垂直居中拜讀了張鑫旭大神的文章行高指的是什么行高指的是文本行的基線間的距離。行內(nèi)框具有垂直居中性。
CSS水平居中、垂直居中、水平垂直居中方法總結(jié)
文字的水平居中:
text-align:center;
單行文字的垂直居中:
line-height:30px; height:30px;
讓有寬度的div水平居中:
margin: 0 auto; width:300px;//必須要有寬度,margin:0 auto才能讓它居中
讓絕對(duì)定位的div垂直居中:
position:absolute; top:0; bottom:0; margin:auto 0; //垂直方向的auto 發(fā)揮的作用 width:300px; height:300px;
同理,讓絕對(duì)定位的div水平和垂直方向都居中:
position:absolute; top:0; left: 0; right:0; bottom:0; margin:auto; width:300px; height:300px;
已知寬高的容器的水平垂直方向居中:
width: 300px; height:300px; position: absolute; top:50%; left:50%; margin-top: -150px; //自身高度的一半 margin-left:-150px;
未知寬高的容器的水平垂直方向居中:
width:300px; height:300px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
*注:transform屬性,低版本瀏覽器不兼容,例如IE8
水平垂直居中記得要想到flexbox:
.container{ display: flex; align-items: center; justify-content: center; } .container .div{ //whatever }
此時(shí).div無論是否已知寬高,都能兩個(gè)方向居中。
垂直居中(表格布局法)
.container{ display: table; } .container .div{ display: table-cell; vertical-align:middle; }為什么height=line-height就能垂直居中?
拜讀了張鑫旭大神的文章:
行高指的是什么?
行高指的是文本行的基線間的距離。
什么是基線?
基線不是文字的下端沿。是英文字母X的下端沿。
文字有頂線,底線,基線和中線,用以確定文字行的位置。
什么是行距?
行高與字體尺寸之間的差。
還要理解一個(gè)概念 -- 行內(nèi)框
? ? ?行內(nèi)元素會(huì)生成一個(gè)行內(nèi)框。它無法顯示出來,但是又確實(shí)存在。
? ? ?在沒有其他因素影響的時(shí)候,行內(nèi)框等于內(nèi)容區(qū)域。
? ? >?設(shè)定行高可以增加或者減少行內(nèi)框的高度,即:將行距的值(行高-字體尺寸)除以2,分別加到內(nèi)容區(qū)域的上下兩邊。這是理解的關(guān)鍵,也就是內(nèi)容區(qū)域的上面和下面均等增加一個(gè)距離。可以在一段文字上進(jìn)行調(diào)試看看,發(fā)現(xiàn)增加減小line-height時(shí),文字是整體上下縮進(jìn)的,而非第一行不動(dòng),后面的向上靠攏。
行內(nèi)框具有垂直居中性。即行內(nèi)框占據(jù)的空間按與文字內(nèi)容公用水平中垂線。(張鑫旭)
關(guān)于vertical-align:middle屬性,也很神奇,可以好好再拜讀下大神的文章。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/115394.html
摘要:為了更好的加深對(duì)居中的理解,搜集和閱讀相關(guān)資料,發(fā)現(xiàn)不錯(cuò)的文章將其整理出來。 在學(xué)習(xí)前端的過程中,發(fā)現(xiàn)元素和文本的水平居中和垂直居中,是經(jīng)常會(huì)出現(xiàn)的問題,在實(shí)際工作中也會(huì)經(jīng)常碰到。居中的技巧有很多,但在編寫代碼的過程中,發(fā)現(xiàn)有時(shí)候技巧管用,有時(shí)候不管用,于是就將每個(gè)知道的方案都試一遍,找到合適的。這種情況究其原因是對(duì)居中的認(rèn)識(shí)不夠深入,只是停留在實(shí)現(xiàn)需求的水平上。為了更好的加深對(duì)居中的...
摘要:前言一直有個(gè)想法要把各種居中的方法總結(jié)一下,但還是一直沒有時(shí)間去整理。最近剛好在做樣式重構(gòu)的項(xiàng)目,順便把一下自己有用過的或積累的居中方法給總結(jié)一下。又必須有個(gè)父級(jí)對(duì)其進(jìn)行設(shè)置居中。 前言 一直有個(gè)想法要把各種居中的方法總結(jié)一下,但還是一直沒有時(shí)間去整理。最近剛好在做樣式重構(gòu)的項(xiàng)目,順便把一下自己有用過的或積累的居中方法給總結(jié)一下。 水平居中 行內(nèi)元素水平居中 行內(nèi)元素的居中比較簡單,直...
摘要:如果要居中的塊級(jí)元素直接是內(nèi)聯(lián)元素等,直接在其父級(jí)元素上加上屬性即可圖片之間,瀏覽器會(huì)產(chǎn)生默認(rèn)的間距,父元素設(shè)置可以很好地解決這個(gè)問題。使用水平居中前提居中的元素必須是塊級(jí)元素,如果是內(nèi)聯(lián)元素,需要添加屬性而且元素不浮動(dòng)。 前端開發(fā)中,我們經(jīng)常需要對(duì)元素進(jìn)行水平垂直居中。為此,小編特地總結(jié)了讓元素居中的方法。 showImg(https://segmentfault.com/img/b...
摘要:如果要居中的塊級(jí)元素直接是內(nèi)聯(lián)元素等,直接在其父級(jí)元素上加上屬性即可圖片之間,瀏覽器會(huì)產(chǎn)生默認(rèn)的間距,父元素設(shè)置可以很好地解決這個(gè)問題。使用水平居中前提居中的元素必須是塊級(jí)元素,如果是內(nèi)聯(lián)元素,需要添加屬性而且元素不浮動(dòng)。 前端開發(fā)中,我們經(jīng)常需要對(duì)元素進(jìn)行水平垂直居中。為此,小編特地總結(jié)了讓元素居中的方法。 showImg(https://segmentfault.com/img/b...
摘要:核心代碼利用布局利用布局,其中用于設(shè)置或檢索彈性盒子元素在主軸橫軸方向上的對(duì)齊方式而屬性定義子項(xiàng)在容器的當(dāng)前行的側(cè)軸縱軸方向上的對(duì)齊方式。核心代碼相對(duì)于的水平垂直居中列表布局兼容性好核心代碼布局核心代碼css對(duì)齊方案總結(jié) 垂直居中 通用布局方式(內(nèi)斂元素和塊狀元素都適用) 利用flex:核心代碼: 12345 .container{ display:flex; ...
閱讀 2564·2021-10-11 10:58
閱讀 1147·2021-09-29 09:34
閱讀 1485·2021-09-26 09:46
閱讀 3830·2021-09-22 15:31
閱讀 730·2019-08-30 15:54
閱讀 1457·2019-08-30 13:20
閱讀 1251·2019-08-30 13:13
閱讀 1485·2019-08-26 13:52