Html CSS:space<;李>;因此,它们在a<;部门>;定高

Html CSS:space<;李>;因此,它们在a<;部门>;定高,html,css,Html,Css,我有一个固定高度为400px的,可以使用显示产品项目符号。如果我有8个,它们非常适合给定的空间。如果我只有4个,那么下面会有很多额外的空白。如何使用CSS使空间均匀地分布在中,而不是在底部留下任何额外的空间 我发现这个问题: 这看起来很相似,但没有选择的答案,也没有一个答案能真正解决问题。理想情况下,这只是CSS而不是javascript解决方案。我希望您没有li作为div的直接子项,这将不是有效的HTML 要在ul中均匀分布li,可以将ul设置为display:table,将li设置为disp

我有一个固定高度为400px的
,可以使用
  • 显示产品项目符号。如果我有8个
  • ,它们非常适合给定的空间。如果我只有4个
  • ,那么
  • 下面会有很多额外的空白。如何使用CSS使
  • 空间均匀地分布在
    中,而不是在
    底部留下任何额外的空间

    我发现这个问题:
    这看起来很相似,但没有选择的答案,也没有一个答案能真正解决问题。理想情况下,这只是CSS而不是javascript解决方案。

    我希望您没有
    li
    作为
    div
    的直接子项,这将不是有效的HTML

    要在
    ul
    中均匀分布
    li
    ,可以将
    ul
    设置为
    display:table
    ,将
    li
    设置为
    display:table row

    ul {
        height: 300px;
        display: table;
    }
    li {
        display: table-row;
    }
    li:before {
        content:'•';
        float: left;
        width: 20px;
        font-size: 1.8em;
        line-height: 0.75em;
    }
    
    这里有一个

    如果您有一个
    div
    包装
    ul
    ,并且希望
    li
    div
    内垂直均匀分布,那么您所需要更改的就是在
    div
    上设置固定的
    高度,并将
    ul
    高度设置为
    100%

    编辑


    我意识到这个解决方案在IE的任何版本中都不能很好地发挥作用,这个更新的版本通过在伪元素中渲染项目符号,然后在伪元素上设置
    字体大小
    行高
    宽度
    ,使其看起来很好,并排列整齐,.

    请参见。@johncode Yes公平问题。。抱歉,我不清楚,我确实尝试了我所链接的问题中的解决方案(一个涉及javascript,另一个涉及一些我不熟悉的CSS标记)。两者都没有像我希望的那样工作,我真的不想用javascript来实现这一点。除此之外,我对chrome开发者工具中的CSS做了很多修补,试图让事情更好地适应,但我带着这个问题来到这里,因为我希望有一些CSS用于这个目的,我只是不知道。他需要要点。如果不是的话,他可能会用这张桌子instead@KhanhTo-嗯,是的,我没有想到这一点,不过这是一个简单的解决办法,我已经更新了答案。谢谢,我现在要试试这个。是的,我确实有一个
      中的
    • ,刚才提到了,因为那是一个具有固定高度限制的部件。工作非常完美。。谢谢我将把这个标记为答案。我只是想知道你怎么把标签放进去李:在修正要点之前?(为什么内容:'';?)它可以工作,但我不理解它?
      li:在
      呈现
      li
      容器中的伪元素之前,它需要一些内容集(如果没有内容集,它不会呈现,它可能是
      '
      ,但我相信
      '
      确保它在所有浏览器中都能工作),然后它被设置为
      显示:列表项以确保渲染项目符号<代码>浮动:左
      使它很好地位于容器的左侧,并确保伪元素不会强制换行。