去除inline-block之间的空白

做一个水平排列的导航通常有以下几种布局:

1、给一个浮动。

2、设置display为inline。

3、设置display为inline-block。

但要追求代码量最少的话,设置为inline元素或者inline-block元素通常最为简洁:

li{
    display:inline;
}

但是又有一个问题,inline元素设置垂直padding没用,于是inline-block发挥作用了。

li{
    display:inline-block;
}

但是问题又来了:

每个li之间的空白怎么回事?这是由于换行符导致的,因为换行符也是一个字符,因此会有以上的空白,因此直接给font-size设为0就行了。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            *{
                margin: 0;
                padding: ;
            }
            ul{
                font-size: 0;
            }
            li{
                display: inline;
                padding: 10px;
                text-align: center;
                font-size: 16px;
                background-color: #eee;
                list-style: none;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>item1</li>
            <li>item2</li>
            <li>item3</li>
            <li>item4</li>
            <li>item5</li>
            <li>item6</li>
        </ul>
    </body>
</html>

 

posted @ 2016-12-02 01:47  _Jo  阅读(189)  评论(0编辑  收藏  举报