• 去除inline-block元素间的间距


    一、现象描述

      真正意义上的inline-block水平呈现的元素间,换行显示或者空格隔开的情况下会有间距,这是因为浏览器在解析时,会将换行等读取成一个空格导致。

    二、移出空格的方法

      ① 我们可以去掉元素之间的换行和空格,这样间距自然就没有了,但是这样会降低代码的可读性,不可取。

        <div>
            <a href="">
            链接1</a><a href="">
            链接2</a><a href="">
            链接3</a><a href="">
            链接4</a>
        </div>
    
        <div>
            <a href="">链接1</a
            ><a href="">链接2</a
            ><a href="">链接3</a
            ><a href="">链接4</a>
        </div>
    
        <div>
            <a href="">链接1</a><!--
            --><a href="">链接2</a><!--
            --><a href="">链接3</a><!--
            --><a href="">链接4</a>
        </div>

      ② 使用margin负值,但是,由于外部的不确定因素,以及最后一个元素多出来的负margin值的问题,这个方法也不太可取。

    <style>
            a {
                background: pink;
                display: inline-block; 
                padding: .5em 1em;
                margin: -3px;
            }
    </style>
    <body>
        <div>
            <a href="">链接1</a>
            <a href="">链接2</a>
            <a href="">链接3</a>
            <a href="">链接4</a>
        </div>
    </body>

      ③ 给父级设置font-size:0,然后再在子元素中设置我们的字体大小,这样也可以去掉元素间的间距。

    <style>
            div{
                font-size: 0;
            }
            a{
                font-size: 16px;
                background: pink;
            }
    </style>
    <div>
            <a href="">链接1</a>
            <a href="">链接2</a>
            <a href="">链接3</a>
            <a href="">链接4</a>
    </div>

      ④ 删掉闭合标签。

        <div>
            <a href="">链接1
            <a href="">链接2
            <a href="">链接3
            <a href="">链接4      
        </div>

      ⑤ 使用letter-spacing。

    <style>
            div{
                letter-spacing: -6px;
            }
            a{
                letter-spacing: 0;
                background: pink;
            }
    </style>
    <div>
            <a href="">链接1</a>
            <a href="">链接2</a>
            <a href="">链接3</a>
            <a href="">链接4</a>
    </div>

      ⑥ 使用word-spacing。

    <style>
            div{
                word-spacing: -6px;
            }
            a{
                word-spacing: 0;
                background: pink;
            }
    </style>
    <div>
            <a href="">链接1</a>
            <a href="">链接2</a>
            <a href="">链接3</a>
            <a href="">链接4</a>
    </div>
  • 相关阅读:
    【设计模式】适配器模式
    【设计模式】原型模式
    【设计模式】建造者模式
    【设计模式】抽象工厂模式
    我的稳定的SpingBoot项目依赖
    Vue中使用iconfont
    Vue-兄弟组件传值
    CSS让高度百分百的方案
    css修改overflow滚动条默认样式
    CSS去除input和textarea点击选中框
  • 原文地址:https://www.cnblogs.com/zhen-prz/p/10617138.html
Copyright © 2020-2023  润新知