如何解決 img 標(biāo)簽上下出現(xiàn)的間隙

0.前言

我們?cè)谄匠5拈_(kāi)發(fā)過(guò)程中,經(jīng)常需要使用多張圖片形葬,而使用多張圖片的時(shí)候竖幔,我們一般會(huì)去使用一個(gè)列表來(lái)對(duì)我們的img 進(jìn)行承裝。

```


Document

img{

height: 200px;

margin: 0;

padding: 0;

border-bottom: 1px solid red;

}

ul{

border: 1px solid blue;

list-style: none;

padding: 0;

margin: 0;

}

  • ```

    但是這個(gè)時(shí)候我們發(fā)現(xiàn)了一個(gè)問(wèn)題砸脊,為什么我的圖片下面多出來(lái)一條線呀具篇?

    這是怎么回事呀?

    我不是已經(jīng)把 img 的外邊距和內(nèi)邊距什么的全部清空了么凌埂?

    實(shí)際上驱显,這其實(shí)是inline元素搞的鬼。

    任何不是塊級(jí)元素的可見(jiàn)元素都是內(nèi)聯(lián)元素,其表現(xiàn)的特性是“行布局”形式埃疫。

    —-《CSS權(quán)威指南》

    什么意思伏恐?

    意思就是,其實(shí)如圖片文字等內(nèi)聯(lián)元素熔恢,它默認(rèn)對(duì)齊方式都是和它的父級(jí)的 baseline 去進(jìn)行對(duì)齊的脐湾,但是你對(duì)齊的是 baseline,撐開(kāi)高度的卻是元素整體的高度(bottom line)叙淌,這樣肯定就會(huì)造成一定的間隙秤掌,也就是我們上文出現(xiàn)的問(wèn)題了。

    那我們既然知道了這個(gè)問(wèn)題出現(xiàn)的原因鹰霍,那么解決起來(lái)也就簡(jiǎn)單多啦闻鉴。

    1.第一種解決方案

    既然是 inline 元素才會(huì)發(fā)生這個(gè)問(wèn)題,那我們自然可以簡(jiǎn)單粗暴的解決這個(gè)問(wèn)題茂洒,那就是給我們的元素“變個(gè)性”孟岛,讓它從 inline 變?yōu)?block 不就可以了么?

    img{

    height: 200px;

    margin: 0;

    padding: 0;

    border-bottom: 1px solid red;

    display: block;

    }

    ul{

    border: 1px solid blue;

    list-style: none;

    padding: 0;

    margin: 0;

    }

    2.第二種解決方案

    這也太粗暴了督勺,變了性別渠羞,回頭還怎么愉快的玩耍呀,所以我們要嘗試曲線救活智哀,我們可以去修改一下它的垂直對(duì)齊方式呀次询,這樣是不是就可以了呢?

    ```

    img{

    height: 200px;

    margin: 0;

    padding: 0;

    border-bottom: 1px solid red;

    vertical-align: middle;

    }

    ul{

    border: 1px solid blue;

    list-style: none;

    padding: 0;

    margin: 0;

    }

    ```

    可以看出瓷叫,這樣也可以實(shí)現(xiàn)想要的效果屯吊。

    原因在于,vertical-align 的默認(rèn)屬性就是 baseline 摹菠,我們只要設(shè)置了跟 baseline 不一樣的屬性盒卸,都可以避免這個(gè)問(wèn)題。

    -

    -

    ```

    baseline? ? 默認(rèn)次氨。元素放置在父元素的基線上蔽介。

    sub? ? 垂直對(duì)齊文本的下標(biāo)。

    super? ? 垂直對(duì)齊文本的上標(biāo)

    top? ? 把元素的頂端與行中最高元素的頂端對(duì)齊

    text-top? ? 把元素的頂端與父元素字體的頂端對(duì)齊

    middle? ? 把此元素放置在父元素的中部煮寡。

    bottom? ? 把元素的頂端與行中最低的元素的頂端對(duì)齊屉佳。

    text-bottom? ? 把元素的底端與父元素字體的底端對(duì)齊。

    length

    %? ? 使用 “l(fā)ine-height” 屬性的百分比值來(lái)排列此元素洲押。允許使用負(fù)值武花。

    inherit? ? 規(guī)定應(yīng)該從父元素繼承 vertical-align 屬性的值。

    ```

    3.第三種解決方案

    但是修改了對(duì)齊方式杈帐,這樣也有可能會(huì)造成問(wèn)題呀体箕,我們可不可以去讓這個(gè)元素飄起來(lái)呢专钉?既然你已經(jīng)不在當(dāng)前文檔流中了,你布局的時(shí)候自然也就不會(huì)參照這個(gè)文字去進(jìn)行對(duì)齊了呀累铅。

    我們可以去使用浮動(dòng)跃须。

    img{

    height: 200px;

    margin: 0;

    padding: 0;

    border-bottom: 1px solid red;

    float: left;

    }

    ul li {

    overflow: hidden;

    }

    ul{

    border: 1px solid blue;

    list-style: none;

    padding: 0;

    margin: 0;

    }

    這樣也可以解決這個(gè)問(wèn)題,但是請(qǐng)注意娃兽,“浮動(dòng)雖好菇民,可不要貪杯呦”。

    你一定要能夠正確的解決浮動(dòng)所造成的影響投储,而且假如你原本就打算去做文字環(huán)繞效果第练,那么使用浮動(dòng)一定是你的不二選擇。

    4.第四種解決方案

    假如上面幾種方案全都不能解決你的問(wèn)題玛荞,那么只有祭出我的大殺器了娇掏。

    你可以給你的父元素把文字大小設(shè)成0。

    img{

    height: 200px;

    margin: 0;

    padding: 0;

    border-bottom: 1px solid red;

    }

    ul li {

    font-size: 0px;

    }

    ul{

    border: 1px solid blue;

    list-style: none;

    padding: 0;

    margin: 0;

    }

    既然你是根據(jù) 文字的基線去對(duì)齊勋眯,我直接把文字給你設(shè)沒(méi)了婴梧,這樣你就沒(méi)法定位了吧,但是這種做法客蹋,只推薦在你已經(jīng)“急頭白臉?biāo)阑钆怀鰜?lái)”的時(shí)候才去使用的塞蹭。

  • 最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
    • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市讶坯,隨后出現(xiàn)的幾起案子番电,更是在濱河造成了極大的恐慌,老刑警劉巖闽巩,帶你破解...
      沈念sama閱讀 212,029評(píng)論 6 492
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件钧舌,死亡現(xiàn)場(chǎng)離奇詭異担汤,居然都是意外死亡涎跨,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 90,395評(píng)論 3 385
    • 文/潘曉璐 我一進(jìn)店門崭歧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)隅很,“玉大人,你說(shuō)我怎么就攤上這事率碾∈逵” “怎么了?”我有些...
      開(kāi)封第一講書(shū)人閱讀 157,570評(píng)論 0 348
    • 文/不壞的土叔 我叫張陵所宰,是天一觀的道長(zhǎng)绒尊。 經(jīng)常有香客問(wèn)我,道長(zhǎng)仔粥,這世上最難降的妖魔是什么婴谱? 我笑而不...
      開(kāi)封第一講書(shū)人閱讀 56,535評(píng)論 1 284
    • 正文 為了忘掉前任蟹但,我火速辦了婚禮,結(jié)果婚禮上谭羔,老公的妹妹穿的比我還像新娘华糖。我一直安慰自己,他們只是感情好瘟裸,可當(dāng)我...
      茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
    • 文/花漫 我一把揭開(kāi)白布客叉。 她就那樣靜靜地躺著,像睡著了一般话告。 火紅的嫁衣襯著肌膚如雪兼搏。 梳的紋絲不亂的頭發(fā)上,一...
      開(kāi)封第一講書(shū)人閱讀 49,850評(píng)論 1 290
    • 那天超棺,我揣著相機(jī)與錄音向族,去河邊找鬼。 笑死棠绘,一個(gè)胖子當(dāng)著我的面吹牛件相,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播氧苍,決...
      沈念sama閱讀 39,006評(píng)論 3 408
    • 文/蒼蘭香墨 我猛地睜開(kāi)眼夜矗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了让虐?” 一聲冷哼從身側(cè)響起紊撕,我...
      開(kāi)封第一講書(shū)人閱讀 37,747評(píng)論 0 268
    • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赡突,沒(méi)想到半個(gè)月后对扶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
      沈念sama閱讀 44,207評(píng)論 1 303
    • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惭缰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
    • 正文 我和宋清朗相戀三年浪南,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漱受。...
      茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
    • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡络凿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昂羡,到底是詐尸還是另有隱情絮记,我是刑警寧澤,帶...
      沈念sama閱讀 34,342評(píng)論 4 330
    • 正文 年R本政府宣布虐先,位于F島的核電站怨愤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蛹批。R本人自食惡果不足惜撰洗,卻給世界環(huán)境...
      茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
    • 文/蒙蒙 一膀息、第九天 我趴在偏房一處隱蔽的房頂上張望了赵。 院中可真熱鬧潜支,春花似錦、人聲如沸柿汛。這莊子的主人今日做“春日...
      開(kāi)封第一講書(shū)人閱讀 30,772評(píng)論 0 21
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)络断。三九已至裁替,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間貌笨,已是汗流浹背弱判。 一陣腳步聲響...
      開(kāi)封第一講書(shū)人閱讀 32,004評(píng)論 1 266
    • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锥惋,地道東北人昌腰。 一個(gè)月前我還...
      沈念sama閱讀 46,401評(píng)論 2 360
    • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像膀跌,于是被迫代替她去往敵國(guó)和親遭商。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
      茶點(diǎn)故事閱讀 43,566評(píng)論 2 349

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