解决行内元素间隙问题

Posted jeanchjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决行内元素间隙问题相关的知识,希望对你有一定的参考价值。

技术图片

一、如何解决上图之间存在的左右空隙问题??小编积累了几种方法

1.让行内元素的标签放成一行(不推荐)(解决左右间隙)

(1)成一行,无任何的空格

 <div class="inner">
      <img src="img/2.jpg" ><img src="img/295254.jpg" ><img src="img/1.jpg" ><span>ph</span>
</div>

技术图片

(2)行内标签之间有空格或者按了tab键或者换行(解决上下间隙

 <img src="img/2.jpg" >  <img src="img/295254.jpg" ><img src="img/1.jpg" ><span>ph</span>

技术图片

由此可见,行内元素之间会产生水平的间隙:可能由于无意之中添加了空格,换行,或者tab键。

 2.letter-spacing加或减少字符间的空白(字符间距)(不推荐)(解决左右间隙)

 技术图片

注:letter-spacing 适用于只有img标签有间隙(letter-spacing:-5px;负值5多少都不会被挤压到)其他文字标签就会有影响

 3.父容器设置font-size:0 (设置font-size: 0; 用于消除换行符、tab(制表符)、空格等字符造成的影响)(推荐  解决上下左右的间隙)

(1)单纯只有img标签

<div class="image" style=“ font-size:0;”>
      <img src="img/2.jpg"  style="width: 100px;  height: 100px;"> 
      <img src="img/295254.jpg" style="width: 100px;  height: 100px;" >
      <img src="img/1.jpg" style="width: 100px;  height: 100px;" > 
  </div>

技术图片

(2)有文字标签,若不想他们父容器上用font-size:0使文字消失

<div class="inner">
      <div class="image" style=" font-size:0;display:inline-block;">   
       <img src="img/2.jpg" style="width: 100px; height: 100px;">=
       <img src="img/295254.jpg" style="width: 100px; height: 100px;">
       <img src="img/1.jpg" style="width: 100px; height: 100px;">
</div>
<span>ph</span>
</div>
span{display: inline-block; background: #000;color:#fff }

技术图片

(3)能消除上下左右的间隙(如图)

技术图片

代码如下

<div class="inner" style="font-size:0;">
          <img src="img/2.jpg" style="width: 200px; height: 100px;"> 
           <img src="img/295254.jpg" style="width: 200px; height: 100px;" >
           <img src="img/1.jpg"  style="width: 200px; height: 100px;">
           <img src="img/1.jpg" style="width: 200px; height: 100px;" >
</div>

技术图片

 

二、 如何解决上图之间存在的上下空隙问题?如下图所示

技术图片

(1)font-size 看上面方法(解决上下左右间隙)

(2)vertical-align: bottom;(解决上下间隙

由图红色框框可知,之间的间隙就是基线到底线的距离,一般来说,行内元素都是默认以基线对齐的

技术图片

代码

 <div class="inner">
         <img src="img/2.jpg" > 
         <img src="img/295254.jpg">
         <span>ph</span>
         <img src="img/1.jpg" >
         <img src="img/1.jpg" >
</div> 

/*** CSS  **/

img{ vertical-align: bottom;
            width: 200px;
            height: 100px;
       }   

span{ background: #000;
          color:#fff
         }  

 技术图片

 (3)将img标签设置成脱离文档流的方式即position:absolute(能解决上下左右间隙)

以上是关于解决行内元素间隙问题的主要内容,如果未能解决你的问题,请参考以下文章

解决行内元素间隙问题

去除行内元素之间的间隙

行内块元素出现间隙的问题

display:inline-block解决文字有间隙问题

font-size:0; 消除空白间隙

内联元素,取消间隙和默认效果