2016-07-27 60 views
1

我想在ul內顯示兩列li對象,其中的項目具有固定高度,其中項目垂直滾動。在滾動垂直溢出的兩列中顯示ul li項目

我創建使用CSS columns規則li對象的列,但目前的結果忽略我指定的列數,以及overflow-y規則,溢出水平來代替。

是否有人知道如何讓ul垂直滾動而不是2個固定列?

注意 - 我需要把所有的lis一個ul內,因爲它們被用作JQuery Sortable控制的一部分。

標記

<ul class="twoColsVerticalScroll"> 
    <li>Item 1</li> 
    <li>Item 2</li> 
    <li>Item 3</li> 
    <li>Item 4</li> 
    <li>Item 5</li>  
    ... lots of lis ... 
</ul> 

的CSS

.twoColsVerticalScroll { 
    height: 100px; 
    width: 400px; 
    overflow-y: scroll; 
    background-color: red; 
    -moz-columns: 2 100px; 
    -webkit-columns: 2 100px; 
    columns: 2 100px; 
} 

結果

https://jsfiddle.net/xh4kq0h5/

回答

1

overflow: scroll將您的列表換成div,並設置其大小。然後將列的寬度設置爲50%;不要忘記重置ul的邊距和填充。

更新

添加FF支持。

ul { 
 
    padding: 0; 
 
    margin: 0; 
 
    -webkit-column-count: 2; 
 
     -moz-column-count: 2; 
 
      column-count: 2; 
 
    -webkit-column-width: 50%; 
 
     -moz-column-width: 50%; 
 
      column-width: 50%; 
 
} 
 

 
div { 
 
    width: 420px; 
 
    height: 200px; 
 
    border: 1px solid; 
 
    overflow-y: scroll; 
 
}
<div> 
 
    <ul class="twoColsVerticalScroll"> 
 
    <li>Item 1</li> 
 
    <li>Item 2</li> 
 
    <li>Item 3</li> 
 
    <li>Item 4</li> 
 
    <li>Item 5</li> 
 
    <li>Item 6</li> 
 
    <li>Item 7</li> 
 
    <li>Item 8</li> 
 
    <li>Item 9</li> 
 
    <li>Item 10</li> 
 
    <li>Item 11</li> 
 
    <li>Item 12</li> 
 
    <li>Item 1</li> 
 
    <li>Item 2</li> 
 
    <li>Item 3</li> 
 
    <li>Item 4</li> 
 
    <li>Item 5</li> 
 
    <li>Item 6</li> 
 
    <li>Item 7</li> 
 
    <li>Item 8</li> 
 
    <li>Item 9</li> 
 
    <li>Item 10</li> 
 
    <li>Item 11</li> 
 
    <li>Item 12</li> 
 
    <li>Item 1</li> 
 
    <li>Item 2</li> 
 
    <li>Item 3</li> 
 
    <li>Item 4</li> 
 
    <li>Item 5</li> 
 
    <li>Item 6</li> 
 
    <li>Item 7</li> 
 
    <li>Item 8</li> 
 
    <li>Item 9</li> 
 
    <li>Item 10</li> 
 
    <li>Item 11</li> 
 
    <li>Item 12</li> 
 
    <li>Item 1</li> 
 
    <li>Item 2</li> 
 
    <li>Item 3</li> 
 
    <li>Item 4</li> 
 
    <li>Item 5</li> 
 
    <li>Item 6</li> 
 
    <li>Item 7</li> 
 
    <li>Item 8</li> 
 
    <li>Item 9</li> 
 
    <li>Item 10</li> 
 
    <li>Item 11</li> 
 
    <li>Item 12</li> 
 
    <li>Item 1</li> 
 
    <li>Item 2</li> 
 
    <li>Item 3</li> 
 
    <li>Item 4</li> 
 
    <li>Item 5</li> 
 
    <li>Item 6</li> 
 
    <li>Item 7</li> 
 
    <li>Item 8</li> 
 
    <li>Item 9</li> 
 
    <li>Item 10</li> 
 
    <li>Item 11</li> 
 
    <li>Item 12</li> 
 
    <li>Item 1</li> 
 
    <li>Item 2</li> 
 
    <li>Item 3</li> 
 
    <li>Item 4</li> 
 
    <li>Item 5</li> 
 
    <li>Item 6</li> 
 
    <li>Item 7</li> 
 
    <li>Item 8</li> 
 
    <li>Item 9</li> 
 
    <li>Item 10</li> 
 
    <li>Item 11</li> 
 
    <li>Item 12</li> 
 
    </ul> 
 
</div>

+0

超 - 感謝3rdthemagical先生! – Ted

+0

@Ted我更新了我的答案 - 爲Firefox添加了前綴。 – 3rdthemagical

+0

謝謝,我不認爲百分比是列寬屬性的有效值,但現在它工作正常。我認爲主要問題是我對溢出的處理方法。再次感謝! – Ted