zoukankan      html  css  js  c++  java
  • 内联元素间的间隔

    问题描述:

    内联元素间会出现不是由margin引起的间隔,具体如下描述:

    HTML:
    <div>
      <span>a</span>
      <span>b</span>
      <span>c</span>
      <span>d</span>
    </div>
    CSS:
    *{margin:0;padding:0;}
    span{
      background-color: #ddd;
    }

    以上代码的结果为:

    image

    通过调试,发现各个span间没有margin,也不存在任何其他元素,但却有间隔。

    解决方案:

          span间的间隔是由span标签间存在空格、tab、换行字符导致(经过实验发现,内联元素、替换元素、inline-block元素均存在此问题),故有如下两种解决方案。

    1)删掉空格等字符:既然间隔是空格等导致,删掉或用注释连接。如下:

    删掉空格
    <div>
      <span>a</span><span>b</span><span>c</span><span>d</span>
    </div>
    用注释连接
    <div>
      <span>a</span><!--
      --><span>b</span><!--
      --><span>c</span><!--
      --><span>d</span>
    </div>

    2)空格、tab、换行均为字符,故其大小与font-size有关。根据实践发现将父元素div的font-size调大,间隔也会变大。因此,可以通过将div的font-size设为0,即可消除间隔。然而font-size是可继承属性,此时span的font-size也为0,span的内容将无法显示,此时只需单独为span设置font-size即可。

    即解决办法为:将父元素font-size设置为0,并为内联元素单独设置font-size

    div{
        font-size:0;
    } 
    span{
      font-size:20px;
      background-color: #ddd;
    }

    以上代码的显示结果如下,间隔被消除。

    image

  • 相关阅读:
    Python之 continue继续循环
    Python之 break退出循环
    Python之 while循环
    Python之 for循环
    java中collection、map、set、list简介 (转)
    CloudSim介绍和使用
    智能指针和动态内存
    boost signal2
    boost 信号 :
    boost库 线程使用
  • 原文地址:https://www.cnblogs.com/youhong/p/6486033.html
Copyright © 2011-2022 走看看