我正在使用JavaScript构建一个流体(html)网格。我喜欢使用bin-packing算法来排序网格项。网格应将列除以百分比或网格中给定的列数。
宽度:100px-3列(33.3333333333%)
33px34px33px
宽度:100px-8列(12.5%)
13px12px13px12px13px12px12px12px
宽度:99px-4列(25%)
25px25px24px25px
<div class="grid">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
var x = 3; //divisor (3 columns)
var y = 100; //number (100 px)
var rem = y % x; //remainder (modulo (or bitwise))
console.log(rem); //output: 1
JSFiddle演示
宽度:100px-3列(33.33333333333%)JSFiddle演示
宽度:99px-4列(25%)
一种方法是使用一个列数组和一个父网格,然后遍历每一列和每一列中的每一项,根据父网格的宽度和在那里拟合的每一列的剩余值来改变宽度。
function fluid(grid,columns){
var colCount = columns.length;
var gridWidth = grid.clientWidth;
var colWidth = gridWidth / colCount;
if( parseInt(colWidth,10) === colWidth ){
for(var i = 0; i < colCount; i++){
var col = columns[i];
for(var n = 0; n < col.length; n++){
col[n].style.width = colWidth + "px";
}
}
}else{
var remainder = gridWidth - parseInt(colWidth,10) * colCount;
var added = 0;
for(var i = 0; i < colCount; i++){
var calcWidth;
if( i > 0 && added < remainder ){
added++;
calcWidth = parseInt(colWidth,10)+1 + "px";
}else{
calcWidth = parseInt(colWidth,10) + "px";
}
var col = columns[i];
for(var n = 0; n < col.length; n++){
col[n].style.width = calcWidth;
}
}
}
}
我想使用FXML在JavaFX中创建一个包含3列的GridPane。中柱上有一个大标签。中间列采用标签的宽度。左栏和右栏各占表单剩余宽度的一半(50%)。我尝试将百分之五十的宽度设置为左栏和右栏。但是,宽度设置为整个形状的50%,而不是剩余宽度。例如,表单的宽度为1000px。中柱可能需要400px,而左柱和右柱各自需要300px。即使窗体在运行时调整大小,此公式也应保持不变。
问题内容: 我想用包含不同长度字符串的列创建一个PdfPTable。我了解到,每一列的每个单元格/列的宽度都相同(默认值),或者可以设置每一列应占用的空间比例。 但是,我希望列的宽度可以根据需要而定,但不要任何宽度都取决于插入的数据。假设表格很容易放在页面上(不间断!)。当然,我可以手动浏览所有数据并计算每列的最大字符串长度,并相应地设置表的属性,但是我想知道itext本身是否已经提供了这样一个通
问题内容: 我知道也有类似的问题,但这是专门问如何使用CSS Grid Layout做到这一点。 因此,我们有以下基本网格设置: HTML(带有侧边栏): CSS: 要创建看起来像这样的布局: 如果页面没有侧边栏,即。html看起来像这样,但是具有相同的CSS: HTML(无边栏): 页面布局看起来像这样(破折号代表空白) 我知道为什么这样做,网格列仍在规则中定义。 我只是想知道如何告诉网格,如果
我使用作为回收器视图的布局管理器。 但我想平分两列的宽度。我怎么能那样做?
划分问题(或number partitioning1)是一个任务,它决定一个给定的正整数多集S是否可以划分为两个子集S1和S2,使得S1中的数之和等于S2中的数之和。 这个问题有一个贪婪的算法: 解决这个问题的一种方法是贪婪算法,它模仿孩子们为游戏选择队伍的方式,将数字按降序进行迭代,将每个数字分配到和较小的子集中。这种方法的运行时间为O(n log n)。当集合中的数字大小与其基数大小差不多或更
问题内容: 例如 : 如何使用mysql计数此表的列? 问题答案: