Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 强制<;表>;固定宽度的列;防止自动扩展_Javascript_Css_Html Table_Width_Multiple Columns - Fatal编程技术网

Javascript 强制<;表>;固定宽度的列;防止自动扩展

Javascript 强制<;表>;固定宽度的列;防止自动扩展,javascript,css,html-table,width,multiple-columns,Javascript,Css,Html Table,Width,Multiple Columns,我通常通过CSS设置固定列宽,结果完美无瑕: #tableID thead tr th:nth-child(1){width: 75px;} #tableID thead tr th:nth-child(2){width: 75px;} /* etc… */ 但现在我的处境是,直到运行时我才知道所需的列宽。下面是我用来动态设置列宽的代码摘录: var tr=$("<tr>"); var colArr=Home.ColDefs[this.statBatchType].colArr;

我通常通过CSS设置固定列宽,结果完美无瑕:

#tableID thead tr th:nth-child(1){width: 75px;} 
#tableID thead tr th:nth-child(2){width: 75px;}
/* etc… */
但现在我的处境是,直到运行时我才知道所需的列宽。下面是我用来动态设置列宽的代码摘录:

var tr=$("<tr>");
var colArr=Home.ColDefs[this.statBatchType].colArr;
for(var i=0;i<colArr.length;i++){
    var col=colArr[i];
    tr.append(
        $("<th>")
            .html(col.title)
            .css("width",col.width)
    );
}
this.jqTHead.append(tr);
var tr=$(“”);
var colArr=Home.ColDefs[this.statBatchType].colArr;

对于(var i=0;i固定
的宽度,这将确保表格不会采用可用的大小并影响布局。

表格上的正是这样做的:列永远不会展开以适应其内容,如果您给表格本身一个宽度,额外的空间将被平均分配。单元格的内容根本不会发挥作用。

是否继续您是否将宽度应用于表格?您可以使用:75px设置最大值;我认为您可以使用
colgroup
定义列宽,并在
col
标记上设置样式sepascarello:否,表格填充整个宽度(100%)。这是我的问题吗?贝特朗:好主意。我考虑过了,但仍然被现有的行为弄糊涂了。@ChadDecker,也修复表格的宽度。我仔细检查了“计算样式”选项卡,以确保表格布局:修复应用于表格。确实如此。我甚至尝试设置“maxWidth”(除了“宽度”)之外)它没有帮助。当浏览器被放大时,检查器显示元素的宽度实际上超过了它们的maxWidth。嗯,这没有什么意义:)没有其他有趣的事情发生吗?你能制作一个简化的测试用例并将其粘贴到JSFIDLE上吗?