站長資訊網
        最全最豐富的資訊網站

        解決img標簽上下出現間隙的方法

        這篇文章主要給大家介紹了解決img標簽上下出現間隙的方法,因為最近在工作中遇到了這個問題,所以想著記錄下來。方便自己或者有需要的朋友們參考借鑒,下面來一起看看吧。

        我們在平常的開發過程中,經常需要使用多張圖片,而使用多張圖片的時候,我們一般會去使用一個列表來對我們的img 進行承裝。

        <!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title>Document</title>      <style type="text/css">          img{              height: 200px;              margin: 0;              padding: 0;              border-bottom: 1px solid red;          }          ul{              border: 1px solid blue;              list-style: none;              padding: 0;              margin: 0;          }      </style>  </head>  <body>        <ul>          <li>              <img src="lipeng.png">          </li>      </ul>  </body>  </html>

        但是這個時候我們發現了一個問題,為什么我的圖片下面多出來一條線呀?

        解決img標簽上下出現間隙的方法

        這是怎么回事呀?

        我不是已經把 img 的外邊距和內邊距什么的全部清空了么?

        實際上,這其實是inline元素搞的鬼。

        任何不是塊級元素的可見元素都是內聯元素,其表現的特性是“行布局”形式。—-《CSS權威指南》

        什么意思?

        意思就是,其實如圖片文字等內聯元素,它默認對齊方式都是和它的父級的 baseline 去進行對齊的,但是你對齊的是 baseline,撐開高度的卻是元素整體的高度(bottom line),這樣肯定就會造成一定的間隙,也就是我們上文出現的問題了。

        解決img標簽上下出現間隙的方法

        那我們既然知道了這個問題出現的原因,那么解決起來也就簡單多啦。

        1.第一種解決方案

        既然是 inline 元素才會發生這個問題,那我們自然可以簡單粗暴的解決這個問題,那就是給我們的元素“變個性”,讓它從 inline 變為 block 不就可以了么?

        <style type="text/css">          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;          }      </style>

        2.第二種解決方案

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

           <style type="text/css">          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;          }      </style>

        可以看出,這樣也可以實現想要的效果。

        原因在于,vertical-align 的默認屬性就是 baseline ,我們只要設置了跟 baseline 不一樣的屬性,都可以避免這個問題。

        解決img標簽上下出現間隙的方法

        3.第三種解決方案

        但是修改了對齊方式,這樣也有可能會造成問題呀,我們可不可以去讓這個元素飄起來呢?既然你已經不在當前文檔流中了,你布局的時候自然也就不會參照這個文字去進行對齊了呀。

        我們可以去使用浮動。

        <style type="text/css">          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;          }      </style>

        這樣也可以解決這個問題,但是請注意,“浮動雖好,可不要貪杯呦”。

        你一定要能夠正確的解決浮動所造成的影響,而且假如你原本就打算去做文字環繞效果,那么使用浮動一定是你的不二選擇。

        4.第四種解決方案

        假如上面幾種方案全都不能解決你的問題,那么只有祭出我的大殺器了。

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

        <style type="text/css">          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;          }      </style>

        既然你是根據 文字的基線去對齊,我直接把文字給你設沒了,這樣你就沒法定位了吧,但是這種做法,只推薦在你已經“急頭白臉死活弄不出來”的時候才去使用的。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品自在线拍国产手机版| 国产精品一香蕉国产线看观看| 91精品国产自产在线老师啪| 伊人 久久 精品| 亚洲精品理论电影在线观看| 999久久久国产精品| 日韩精品无码一区二区三区不卡| 国产在AJ精品| 88国产精品无码一区二区三区| 精品中文高清欧美| 国产亚洲精品AA片在线观看不加载| 精品国产精品国产偷麻豆 | 97国产视频精品| 精品国产一区AV天美传媒| 亚洲欧美日韩精品久久亚洲区 | 久久综合九色综合精品| 国内少妇偷人精品视频免费| 亚洲精品欧美二区三区中文字幕 | 亚洲精品无码久久久久sm| 久久这里只有精品视频99| 国产精品无码素人福利不卡| 四虎国产精品永久地址99| 国内精品久久久久影院免费| 国产成人精品免费久久久久| 亚洲精品成人片在线观看精品字幕| 蜜臀AV无码国产精品色午夜麻豆| 国产精品永久免费| 国产精品午夜无码AV天美传媒| 99久久精品免费国产大片| 久久免费国产精品一区二区| 亚洲国产精品热久久| 91亚洲精品自在在线观看| 亚洲综合国产精品| 国产成人高清精品免费观看| 99热精品久久只有精品| 97精品人妻一区二区三区香蕉| 青青青青久久精品国产| 99精品久久久久久久婷婷| A级毛片无码久久精品免费| 国产精品 91 第一页| 久久国产香蕉一区精品|