Html 如何减少无序列表中列表项之间的垂直间距?

Html 如何减少无序列表中列表项之间的垂直间距?,html,css,Html,Css,我有一个非常简单的html无序列表: <ul> <li>First</li> <li>Second</li> </ul> 首先 第二 问题在于firefox中的默认列表样式在每个列表项之间留下了大量的空间,这与标记中的段落之间的空间差不多。今天,我的谷歌fu被证明毫无用处——我如何减少垂直空间?我假设有一个css元素可以应用于标记,但我似乎找不到任何东西 (这将进入页面的侧边导航元素,因此需要尽可能紧凑。)减少或消除

我有一个非常简单的html无序列表:

<ul>
<li>First</li>
<li>Second</li>
</ul>
  • 首先
  • 第二
问题在于firefox中的默认列表样式在每个列表项之间留下了大量的空间,这与
标记中的段落之间的空间差不多。今天,我的谷歌fu被证明毫无用处——我如何减少垂直空间?我假设有一个css元素可以应用于
标记,但我似乎找不到任何东西


(这将进入页面的侧边导航元素,因此需要尽可能紧凑。)

减少或消除上下页边距和填充。例如:

li {
    margin: 0;
    padding: 0.2em;
}

PS:既然你使用的是Firefox,那就试试吧。当您在Firebug中单击HTML树中的元素时,它将突出显示页面本身上的元素。它将内容、边距和填充分别着色,以便您可以准确地看到边距和填充如何影响布局。

减少
上边距
下边距
以及
  • 元素的填充:

    li { margin: 1em 3em; padding: 0.2em; }
    

    margin
    padding
    CSS属性设置为您想要的大小。为获得最大压实度,请使用:

    ul, li { margin: 0; padding: 0; }
    

    除了所有其他答案之外,还需要设置
    行高:1em
    以减少每行的前导空间。当然,
    padding top
    padding bottom
    margin top
    margin bottom
    都是最有可能的罪魁祸首。

    属性margin和padding是正确的方法

    我想添加使用预定义的重置css文件重置完整css的建议,如Eric Meyer的建议:


    在此之后,您可以选择控制更加指定的样式。

    我遇到了这个问题

    。当您在Firebug中单击HTML树中的元素时,它 将突出显示页面本身上的元素。它分别为内容、边距和填充>着色,这样您就可以确切地看到边距和填充对布局的影响

    萤火虫没有填充物或边缘

    当我更改显示属性时,间隙消失了

    li { 
    display: inline-block;
    }
    
    但是,产生了一个缺口:

    li { 
    display: block;
    }
    
    没有

    ul{
    字号:0;
    }
    ulli{
    显示:内联;
    字体大小:16px;
    }
    

    总是有用的

    这些都不适合我

    我有一个固定高度和宽度的未排序列表,它必须正好是带有填充和/或边距的列表元素的总和。实际上,9个列表元素必须放在一个3 x 3的正方形中

    对我起作用的是

    li{
        height: 144px;
        width: 144px;
        float: left;
    }
    

    啊哈!这是一个继承的线高度值,导致了我的问题。谢谢你,ricebowl!不要使用
    padding
    ,因为它还会改变列表与列表上方和下方文本之间的距离,而
    margin
    如果值小于
    1em
    ,则不会改变它,正如您在这里看到此解决方案的任何人所看到的那样,请记住,
    行高度的值可以小于1才能正常工作。PS您可能不需要在标签内的所有位置添加填充和边距,您应该使用空白:正常