宝塔山 发表于 2025-3-24 11:57:37

span与span之间的空白怎样解决?

 
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>标题</title>
    <style>
      div{
            background: yellow;
      }
      span:first-of-type{
            background: red;
      }
      span:last-of-type{
            background: blue;
      }
    </style>
</head>
<body>
    <div>
       <span>文本1</span>
       <span>文本2</span>
    </div>
</body>
</html> 结果如下所示、存在空白: 
https://i-blog.csdnimg.cn/direct/c8aa15097c0541c9a489d4177ff8fe48.png
主要原因:
元素被当成行内元素排版的时间,元素之间的空白符(空格、回车换行等)都会被浏览器转换成一个空白字符,这个字符的大小受font-size影响
解决方法1:

不写换行、紧凑编写
<span>文本1</span><span>文本2</span>
 解决方法2:
将 span 的父元素的字体大小设置为 0,这样 span 之间的空格也会消散。然后需要在 span 元素上重新设置字体大小为你想要的值。
      div{
            background: yellow;
            font-size: 0px;
      }
      span:first-of-type{
            background: red;
            font-size: 20px;
      }
      span:last-of-type{
            background: blue;
            font-size: 20px;
      } 解决方法3:
 将父元素设置为 display: flex;,使子元素(span)紧密排列 ,可以消除子元素之间的空白。
      div{
            background: yellow;
            display: flex;
      } 解决方法4: 


[*]将span元素设置为浮动(如float: left;),这样可以使它们紧密排列。但使用浮动布局时需要注意清除浮动,以避免对后续元素产生影响。
   div{
            background: yellow;   
      }

      div::after
      {
          clear:both;
          content:"";
          display: block;
      }

      span:first-of-type{
            background: red;   
             float: left;
      }
      span:last-of-type{
            background: blue;   
            float: left;
      }

末了结果:
https://i-blog.csdnimg.cn/direct/8c71ae8c65e7443a93cc5ec12b5aedf8.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: span与span之间的空白怎样解决?