【css】解决两个行内元素或者inline-block元素之间的默认间距

1、bug原因

间距是因为元素标签之间的空白符,引起的。

示例如下:

 

将行内元素标签无空格不换行的写在一起,就不会有这个问题。(解决方案一)

 

2、解决方案

第一种解决方案不推荐,因为代码看起来混乱。

第二种解决方案:设置父元素的font-size:0。

    <style>
        .box span{background-color: chartreuse;}
        .box{font-size: 0;}  /*父元素字号设置为0*/
        .box span{font-size: 24px;} /*子元素设置字号*/
    </style>

<body>
    <div class="box">
        <span>我是</span>
        <span>一名</span>
        <span>党员</span>
    </div>
</body>

第三种解决方案:设置父级元素 display:flex。

    <style>
        .box span{background-color: chartreuse;}
        .box{display: flex;} /*flex布局,会使行内元素有了块级元素的属性,看需求*/
    </style>

<body>
    <div class="box">
        <span>我是</span>
        <span>一名</span>
        <span>党员</span>
    </div>
</body>

第四种解决方案:父级元素设置字间距一个合适的负值(需要去试)。

    <style>
        .box span{background-color: chartreuse;}
        .box{word-spacing: -10px;} /*字间距设置一个合适的负值*/
    </style>

<body>
    <div class="box">
        <span>我是</span>
        <span>一名</span>
        <span>党员</span>
    </div>
</body>

以上,第二种解决方案被大家推荐,我以后也用第二种方案。

最后,我真的是一名党员。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值