美文网首页
ul font-size为0,li设置字体大小后多出下间隙

ul font-size为0,li设置字体大小后多出下间隙

作者: liujunyan | 来源:发表于2016-09-05 17:04 被阅读0次

设置横向布局的ul li时若li使用display:inline-block会因为换行符而使相邻的li出现间距

将ul的字体设置为0同时在li中重新设置需要的字体大小可以解决上述问题,但若在下面的情况下,会多出下间隙

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div {
            line-height: 3rem;
        }
        ul {
            margin: 0;
            padding: 0;
            font-size: 0;
        }
        li {
            list-style: none;
            font-size: 12px;
            display: inline-block;
        }
        a {
            display: inline-block;
            padding: 0 1.5rem;
        }
    </style>
</head>
<body>
    <div>
        <ul>
            <li>123</li>
            <li>123</li>
            <li>123</li>
        </ul>
    </div>
</body>
</html>

ul外面包裹了一个盒子,盒子设置了行高(注意是行高不是高度)而ul又未设置高度,则其高度会随其父盒子,同时li和ul会有一个下间隙。

解决

  • 不给li设置字体大小,而是在li中再包一层盒子,给内层盒子设置字体大小
  • ul的父盒子不设置行高,而用height代替,之后ul、li高度设置为100%

总的来说,要出现这样奇怪的现象需要特定的html结构和css样式结合,只要用别的方式代替实现相同的显示效果,以此来避免出现这个问题。

相关文章

网友评论

      本文标题:ul font-size为0,li设置字体大小后多出下间隙

      本文链接:https://www.haomeiwen.com/subject/zsbrettx.html