Home  >  Q&A  >  body text

css - 如何固定 ul 的高度,使里面的 li 每列只显示一定的数量,多余的再另开一列?

就像 Bootstrap 的栅格系统,不过这个是垂直的

PHP中文网PHP中文网2741 days ago855

reply all(4)I'll reply

  • PHP中文网

    PHP中文网2017-04-17 11:25:37

    你可以了解一下CSS中的column布局。

    Demo:
    http://jsfiddle.net/0vom7o9k/5/

    兼容性参见: http://caniuse.com/#search=column

    reply
    0
  • 怪我咯

    怪我咯2017-04-17 11:25:37

    我是来放黑魔法的,诸君一笑而过就好了…~_~ http://jsfiddle.net/0vom7o9k/2/

    reply
    0
  • PHPz

    PHPz2017-04-17 11:25:37

    如果是我的话,我应该会使用jquery。先给ul一个固定的高度,高度用jquery给他一个变量。然后用FW或者审查元素看下li的高度,用ul高度-nli高度。如果nli>ul高度,就使用jquery把剩下的li分割,再用jquery把多余的li放到新的ul里。大致代码如下
    var ul-height = 500px;
    var li-height = 40px;
    vat li-sum = $("ul li").length;
    if(ul-height < li-height*li-sum){
    再把剩余的li用warp函数放到新的ul里,注意ul要使用float:left;而且宽度要确定够多放几个ul。原谅我在饭店吃饭,无法给出全部代码,思路和大致的代码已经给你了
    }

    reply
    0
  • 高洛峰

    高洛峰2017-04-17 11:25:37

    确实是黑魔法。高!不知道其它浏览器中兼容如何~

    reply
    0
  • Cancelreply