去除inline-block元素间间距的几种方法

inline元素间间距

举个栗子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style type="text/css">
        .box a{
            padding: .5em 1em;
            background-color: #cad5eb;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="#">1</a> <a href="#">2</a> 
        <a href="#">3</a>
        <a href="#">4</a>
    </div>
</body>
</html>

效果如下:

这里写图片描述

可以看出inline元素之间换行显示或空格分隔会造成间距

除此之外,inline-block元素之间也存在间距

再举个栗子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <input type="text" name="" placeholder="请输入用户名">
    <input type="password" name="" placeholder="请输入密码"> <input type="email" name="" placeholder="请输入邮箱">
</body>
</html>

效果如下:

这里写图片描述

从图中可以看出inline-block元素之间换行显示或空格分隔会造成间距

解决方法

(1)减少闭合标签

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style type="text/css">
        .box {
            margin-top: 50px;
        }
        .box a{
            padding: .5em 1em;
            background-color: #cad5eb;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="#">1
        <a href="#">2
        <a href="#">3
        <a href="#">4</a>  <!--不要忘记闭合标签-->
    </div>
</body>
</html>

这里写图片描述

(2)设置margin值为负数

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style type="text/css">
        .box {
            margin-top: 50px;
        }
        .box a{
            margin-right: -5px;    /*chrome浏览器环境下*/
            padding: .5em 1em;
            background-color: #cad5eb;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="#">1</a>
        <a href="#">2</a>
        <a href="#">3</a>
        <a href="#">4</a>
    </div>
</body>
</html>

这里写图片描述

(3)font-size: 0

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style type="text/css">
        .box {
            font-size: 0;
            -webkit-text-size-adjust:none;  /*兼容性*/
        }
        .box a{
            font-size: 16px;   /*必须设置font-size,否则不显示a元素*/
            padding: .5em 1em;
            background-color: #cad5eb;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="#">1</a> <a href="#">2</a> 
        <a href="#">3</a><a href="#">4</a>
    </div>
</body>
</html>

这里写图片描述

(4)letter-spacing

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style type="text/css">
        .box {
            letter-spacing: -5px;   /*chrome浏览器环境下*/
        }
        .box a{
            letter-spacing: 0;
            padding: .5em 1em;
            background-color: #cad5eb;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="#">1</a> 
        <a href="#">2</a>
        <a href="#">3</a>
        <a href="#">4</a>
    </div>
</body>
</html>

这里写图片描述

(5)word-spacing

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style type="text/css">
        .box {
            word-spacing: -5px;
        }
        .box a{
            word-spacing: 0;
            padding: .5em 1em;
            background-color: #cad5eb;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="#">1</a> 
        <a href="#">2</a>
        <a href="#">3</a>
        <a href="#">4</a>
    </div>
</body>
</html>

这里写图片描述

有其它方法的欢迎补充,有错误的地方请指正

(完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值