我的是在我指定爲具有多個列的盒子的標籤列表:如何確定實際顯示多少個CSS3列(與指定的列數)?
#tags {
-webkit-columns: 140px 5;
}
結果:
這個列表的內容是動態生成的。
當我調整瀏覽器窗口的大小時,列數會崩潰。例如: -
使用jQuery/JS/CSS /等等,我怎麼能確定有多少列在任何給定時間顯示?
我的是在我指定爲具有多個列的盒子的標籤列表:如何確定實際顯示多少個CSS3列(與指定的列數)?
#tags {
-webkit-columns: 140px 5;
}
結果:
這個列表的內容是動態生成的。
當我調整瀏覽器窗口的大小時,列數會崩潰。例如: -
使用jQuery/JS/CSS /等等,我怎麼能確定有多少列在任何給定時間顯示?
除非您指定了所有與列寬相關的屬性,否則瀏覽器將嘗試在內容區域(元素的左側和右側填充之間)填充整個列數。所以(contentWidth + columnGap)/(columnWidth + columnGap)
向下舍入會給你結果。
請注意,右填充可能設置得太高以至於整列可以適合 - 您可能需要調整計算。
如果在列文本內有一個寬度爲100%的元素,還可以直接獲取列的大小。
你可以得到這樣的價值:
$('#tags').css('-webkit-column-count');
嘗試提醒這一點:
alert($('#tags').css('-webkit-column-count'));
即使只顯示三列,這仍然只返回「5」。 – gabriel
類似阿列克謝的答案,我想出了一個解決方案,使列數:
var $tags = $("#tags"),
column_width = $tags.children(':first').width(),
container_width = $tags.width(),
column_count = Math.floor(container_width/column_width); // in my case, sum of column gaps is less than the width of a column, so I can round down.
你可以給一個小提琴或一些HTML? –