Javascript 如何确定实际显示的CSS3列数(相对于指定的列数)?
我有一个标签列表,这些标签位于我指定为具有多列的框中:Javascript 如何确定实际显示的CSS3列数(相对于指定的列数)?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个标签列表,这些标签位于我指定为具有多列的框中: #tags { -webkit-columns: 140px 5; } 结果: 此列表的内容是动态生成的 当我调整浏览器窗口的大小时,列的数量将折叠。e、 g: 使用jQuery/JS/CSS/etc,我如何确定在任何给定时间显示多少列?除非您指定了所有与列宽相关的属性,否则浏览器将尝试在内容区域中容纳整列(在元素的左右填充之间)。所以(contentWidth+columnGap)/(columnWidth+columnGap)
#tags {
-webkit-columns: 140px 5;
}
结果:
此列表的内容是动态生成的
当我调整浏览器窗口的大小时,列的数量将折叠。e、 g:
使用jQuery/JS/CSS/etc,我如何确定在任何给定时间显示多少列?除非您指定了所有与列宽相关的属性,否则浏览器将尝试在内容区域中容纳整列(在元素的左右填充之间)。所以
(contentWidth+columnGap)/(columnWidth+columnGap)
向下舍入将给出结果
请注意,右边的填充可能设置得太高,以至于整个列都可以在那个里容纳—您可能需要调整计算
如果在文本列中有一个宽度为100%的元素,您还可以直接获得列的大小。您可以获得如下值:
$('#tags').css('-webkit-column-count');
尝试发出以下警报:
alert($('#tags').css('-webkit-column-count'));
与Alexei的回答类似,我想出了一个解决方案来获得列数:
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吗?这仍然只返回“5”,即使只显示三列。