解决 inline-block 的左右缝隙问题

  当元素是非块级元素(span,a等,或者display: inline;(display: inline-block))时,元素在一行内排列,会有左右缝隙的问题。
html代码

    <div class="ct">
        <span>tag1</span>
        <span>tag2</span>
        <span>tag2</span>
    </div>

CSS 代码

    .ct{
        border: 1px solid #000;
    }
    span{
        background-color: red;
    }

解决方法是:

  • 1.把html代码放在一行内
    <div class="ct">
        <span>tag1</span><span>tag2</span><span>tag2</span>
    </div>
  • 2.利用负margin: -4px;(一般来说是-4px)
    .ct{
        border: 1px solid #000;
        padding-left: 4px;
    }
    span{
        background-color: red;
        margin-left: -4px;
    }
  • 3.利用float 和 BFC
    .ct{
        border: 1px solid #000;
        overflow: hidden;/*形成BFC*/
    }
    span{
        background-color: red;
        float: left;
    }
  • 4.父元素的 font-size: 0;再直接设置子元素的
    .ct{
        border: 1px solid #000;
        font-size: 0;
    }
    span{
        background-color: red;
        font-size: 16px;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 8,391评论 0 11
  • 一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 在CSS当中,相...
    dengpan阅读 3,707评论 0 0
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 5,887评论 0 1
  • 导读:你知道道德是什么意思吗?但真真正正了解它的含义的,又会有多少个人呢?它的意思是:要做一个有道德的,守法的人,...
    短视频制作启航阅读 10,163评论 0 0
  • 逛街的时候,看到路边有卖栀子花的,两元一把。我五元买了三把,回家找了两个玻璃杯接了水插上,一杯放在门口的玄...
    森林的清味阅读 3,184评论 0 3