一招幫你搞定基線位置(line box基線)

想標(biāo)題名想了半天超尷尬...

說(shuō)正題,在我們的vertical-align屬性中,其默認(rèn)值為baseline,及將設(shè)置該屬性的元素基線與元素所在的行框(line box)基線對(duì)齊。W3C上的描述是元素放置在父元素的基線上,醬紫描述是不準(zhǔn)確的。

1.不知道基線是啥?

一張圖告訴你,下面的四條線就像我們?cè)谟⒄Z(yǔ)本子上的四線格,用來(lái)輔助我們規(guī)范的書寫英文。

字母x書寫時(shí),其底端就在基線上。CSS規(guī)范遵循了這一規(guī)則。

2.塊級(jí)元素內(nèi)容高度的確定

在我們進(jìn)行行內(nèi)元素布局時(shí),line-height,font-size 和vertical-align三個(gè)屬性起到了至關(guān)重要的作用。

line-height,font-size 幫助我們確定行內(nèi)框(inline box)的高度。line box的高度是最高的inline box的頂部到最低(這里指顯示位置)的inline box的底部之間的距離。而一個(gè)不聲明height的塊級(jí)元素的內(nèi)容高度是由一個(gè)一個(gè)line box堆起來(lái)的,對(duì)于內(nèi)容只有一行的,塊級(jí)元素的內(nèi)容高度即為line box的高度。

3.line box的基線和line box高度

在行內(nèi)元素布局時(shí),inline box(行內(nèi)框)的vertical的默認(rèn)值為baseline,即它的基線要與對(duì)應(yīng)line box的基線對(duì)齊。對(duì)于所有inline box都是默認(rèn)基線對(duì)齊的情況下,待所有的inline box都找好對(duì)應(yīng)位置之后,line box就可以得出高度了。對(duì)于有的inline box的vertical-align為bottom或者top時(shí),找位置時(shí),對(duì)齊的基準(zhǔn)是高度最大的inline box,為bottom時(shí)即該inline box的底端與基準(zhǔn)inline box的底端對(duì)齊,top同理。對(duì)齊完之后,line box的高度就能計(jì)算出。

4.line box基線位置

前面說(shuō)了這么多,各位看官一定朝我扔雞蛋了(我閃~~~)。

重頭戲來(lái)了,line box的基線位置就是:

字母x的底部


有沒(méi)有砍人的沖動(dòng)......反正當(dāng)我試驗(yàn)出來(lái)時(shí),我先是笑了10分鐘,(哈哈哈,終于搞出來(lái)了,看了無(wú)數(shù)博客,查css官方英文文檔都沒(méi)弄明白呀,居然這么簡(jiǎn)單!!!WTF)。然后就想砍人,麻痹的在介紹時(shí)多加這么一句不行嗎??!!

好了,我們來(lái)好好理解這里的字母x的底部的含義。

不是說(shuō)只要是在這個(gè)line box里的x的底部都是基線的位置。這個(gè)x必須是不包含在其他標(biāo)簽里面的,就是匿名inline-box里面的x。舉個(gè)栗子

<div>xxofdiv<span>xxofspan</span></div>

如果這個(gè)div只有一行,那么xxofdiv里的x的底部就是這個(gè)line box的基線,而不是xxofspan里面的x。大家可以將span的line-height設(shè)大一點(diǎn),然后span的vertical-align設(shè)為bottom或者top,在div里面加個(gè)<input >,之后你會(huì)發(fā)現(xiàn)input輸入框的中心線是和xxofdiv里x的底部對(duì)齊的,和xxofspan里的x底部就會(huì)有偏移。

其實(shí)不是input的中心線與xofdiv底部對(duì)齊,在輸入框中輸入字母x,仔細(xì)比較發(fā)現(xiàn)是x的底部和xofdiv的底部在對(duì)齊,是不是豁然開朗了。input框默認(rèn)的是baseline,它自己的基線就是x的底部,line box的基線就是xofdiv的底部,兩個(gè)就對(duì)齊了。

那么問(wèn)題來(lái)了,我們line box里面不一定每次都有包含x的匿名inline-box啊,這怎么找基線呢?其實(shí)這里在對(duì)齊時(shí),會(huì)假想這里面正好有x字母(匿名的inline box),這樣就可以愉快對(duì)齊啦~~~ 不信可以比較不加x,和加x時(shí)的情況是不是一樣的。

這里說(shuō)一些關(guān)于基線的坑,img圖像標(biāo)簽引入的圖片的基線就是圖片底部, textarea標(biāo)簽也是底部,還有更多的坑等踩了才知道(~ ̄▽ ̄)~*。 ?

如果我的理解有差錯(cuò)的話,歡迎各位看官評(píng)論哦,一起討論啦

覺(jué)得有用的話,點(diǎn)下喜歡哦,關(guān)注我,關(guān)注我。

研究了兩天啦,終于搞清楚啦,1.30 該睡覺(jué)啦,明天還上班〒_〒

/////////////////////////////////////////////////以下是更新///////////////////////////////////////

line box的中線位置(middle)是過(guò)x中心的水平線。

感謝:

字母’x’在CSS世界中的角色和故事

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,442評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,802評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,983評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,287評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,486評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,710評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評(píng)論 1 294
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,224評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,462評(píng)論 2 378

推薦閱讀更多精彩內(nèi)容

  • 有些東西我們經(jīng)常用,但是我們卻并不了解它的原理,所以一旦換了場(chǎng)景,好多東西就不知道該怎么用了。最近一直很糾結(jié)ver...
    朱小維閱讀 4,980評(píng)論 8 34
  • 參考文章:深入了解CSS的line-height屬性Vertical-Align: 你需要知道的所有事【譯】Ver...
    若邪Y閱讀 3,480評(píng)論 1 6
  • 問(wèn)答題47 /72 常見瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,780評(píng)論 1 92
  • 1.vertical-align 默認(rèn)值:baseline 即設(shè)置該屬性的元素的基線(baseline)與行框的基...
    softbone閱讀 977評(píng)論 0 0
  • 夢(mèng)后樓臺(tái)高鎖,酒醒簾幕低垂。去年春恨卻來(lái)時(shí),落花人獨(dú)立,微雨燕雙飛。 記得小蘋初見,兩重心字羅衣。琵琶弦上說(shuō)相思,...
    鉛筆芒種閱讀 599評(píng)論 0 0