美文网首页
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