對inline-block的再次認(rèn)知

文章主要討論inline-block引起的高度問題变隔,以及使用vertical-align:middle;
高度出現(xiàn)莫名的小數(shù)?高度正好 卻出現(xiàn)滾動條?莫名多處一些空白懈叹?總是感覺不對齊?

讀完<<CSS權(quán)威指南>>缤削,我以為自己了解了inline-block窘哈,并且用起來也不錯(cuò),然而亭敢,近期我發(fā)現(xiàn)滚婉,同樣的做法在不同環(huán)境竟然表現(xiàn)不一致。

這個(gè)布局之所以復(fù)雜帅刀,是因?yàn)樗鼱砍兜絭ertical-align让腹、line-height、font-size扣溺、font-family和css的繼承骇窍。

同樣的字體大小,不同的font-family锥余,字體的高度是不一樣的腹纳。

codepen 地址https://codepen.io/xiaodun/pen/qJjevo
我的瀏覽器是chrome
首先

*{
  margin:0;
  padding:0;
}
.wrapper1{
  font-size:16px;
  font-family: cursive;
}
.wrapper2{
  font-size:16px;
  font-family:sans-serif;
}

前者是18px 后者是21px cursive和sans-serif 都是瀏覽器的通用字體。
這里line-height起到作用驱犹,默認(rèn)值是normal嘲恍,如果設(shè)置為line-height:1 大小和字體大小一樣,相當(dāng)于1*16px雄驹,
行高多余字體高度的值佃牛,會除以2分別加到上下兩個(gè)邊,使得字體可以垂直居中医舆,
如果將布局換為inline,line-height導(dǎo)致的結(jié)果是不一樣的吁脱。

<div class="wrapper3">
  <input class="first"/>
</div>

.wrapper3{
  font-size:16px;
  font-family:sans-serif;
    .first{
      height:20px;
      box-sizing:border-box;

  }
}

出現(xiàn)多余的空白,高度為22.5px
加上vertical-align:top彬向,變?yōu)?1px兼贡,bottom、text-top娃胆、text-bottom效果也為21px遍希,如果你改變,font-szie的大小里烦,高度也會隨之變化凿蒜,這已經(jīng)不是差1px的事情了,這21px不是font-size作用于標(biāo)簽之間的空白產(chǎn)生的禁谦!即使你刪除空白依然是21px!,但是效果和加上一個(gè)span是等價(jià)的。

使用line-height: 1;在字體大小不超過21px的時(shí)候是起作用的废封,子元素是繼承l(wèi)ine-height: 1;州泊,而不是繼承計(jì)算后的值
在同一行的內(nèi)聯(lián)元素會生成一個(gè)行內(nèi)框,行內(nèi)框要容的下同一行的所有元素

<div class="wrapper5">
  <input class="first"/><span class="second">1213</span>
</div>

忽略這個(gè)問題漂洋,高度自然很難糾正啦遥皂!

使用vertical-align:middel;

<div class="wrapper6">
  <span class="second">1213</span>
  <input class="first"/>
  <div class="third">123</div>
</div>


.wrapper6{
  line-height:1;
  .first{
  height:40px;
  box-sizing:border-box;
  vertical-align:middle;
}
.second{
  font-size:16px;
  display:inline-block;
  font-family:sans-serif;
  background-color:red;
  vertical-align:middle;
}
.third{
  float:left;
  height:16px;
  margin-top:12px;
  background-color:red;
}
}

特意加了一個(gè).third 來驗(yàn)證vertical-align:middle;是生效的,注意.first和.second都加了 刽漂,這時(shí)"無法刪除的元素”高度沒有文本框高演训,所以不會影響"


增加.second的行高,文本框還是會垂直對齊,可見贝咙,他們是根據(jù)內(nèi)聯(lián)框?qū)R的样悟,這個(gè)框看不見,卻真實(shí)存在著

至于文本框前面的空白庭猩,出現(xiàn)是合理的窟她,這是特性,現(xiàn)在基于腳手架的項(xiàng)目容易解決這種問題蔼水,只要刪除HTML之間的空白就可以了礁苗,或者不產(chǎn)生空白

 <span>1</span><
 span>2</span>

不建議這樣做,會耗費(fèi)時(shí)間徙缴,可讀性也不好试伙。而且無法去除前面所說的問題=>"無法刪除的元素。"
可以試試font-size:0;至于子元素的字體大小于样,如果方便疏叨,可以為每個(gè)元素單獨(dú)指定,如果不方便 使用> * 也無妨穿剖,雖然瀏覽器從右往左解析CSS蚤蔓,很多人會覺得影響性能,其實(shí)問題不大糊余。

或者使用 :nth-child(n)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秀又,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子贬芥,更是在濱河造成了極大的恐慌吐辙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蘸劈,死亡現(xiàn)場離奇詭異昏苏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門贤惯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洼专,“玉大人,你說我怎么就攤上這事孵构∑ㄉ蹋” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵颈墅,是天一觀的道長蜡镶。 經(jīng)常有香客問我,道長精盅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任谜酒,我火速辦了婚禮叹俏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘僻族。我一直安慰自己粘驰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布述么。 她就那樣靜靜地躺著蝌数,像睡著了一般。 火紅的嫁衣襯著肌膚如雪度秘。 梳的紋絲不亂的頭發(fā)上顶伞,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音剑梳,去河邊找鬼唆貌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛垢乙,可吹牛的內(nèi)容都是我干的锨咙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼追逮,長吁一口氣:“原來是場噩夢啊……” “哼酪刀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钮孵,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤骂倘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后巴席,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稠茂,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了睬关。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诱担。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖电爹,靈堂內(nèi)的尸體忽然破棺而出蔫仙,到底是詐尸還是另有隱情,我是刑警寧澤丐箩,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布摇邦,位于F島的核電站,受9級特大地震影響屎勘,放射性物質(zhì)發(fā)生泄漏施籍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一概漱、第九天 我趴在偏房一處隱蔽的房頂上張望丑慎。 院中可真熱鬧,春花似錦瓤摧、人聲如沸竿裂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至这揣,卻和暖如春悔常,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背给赞。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工障涯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罐旗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓唯蝶,卻偏偏與公主長得像九秀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子粘我,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案鼓蜒? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,748評論 1 92
  • 1. 前言 前端圈有個(gè)“贡曰唬”:在面試時(shí),問個(gè)css的position屬性能刷掉一半人都弹,其中不乏工作四五年的同學(xué)娇豫。在...
    YjWorld閱讀 4,440評論 5 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)畅厢。 注意:講述HT...
    kismetajun閱讀 27,474評論 1 45
  • 之前在意林上看到一篇文章,寫的是一個(gè)小女孩和家人吵架咪辱,沒有帶過錢就離家出走了振劳,但是她很餓烧给,走到一個(gè)小店的時(shí)候 糠溜,一...
    柒月77777閱讀 1,219評論 0 0
  • 彼岸花開無緣分艾船, 六道黃泉渡輪回定续。 前塵前人奈何橋, 五垢無奈孟婆湯骤公。
    bb53503536bd閱讀 208評論 0 1