表头/正文宽度问题
Table header/body width issue
我有一个表格,它有一个标题行和几行用于正文内容。
现在这些实际上是 2 个单独的表:
- 对于页眉
- 对于正文内容(是另一个 iframe 的一部分)
我希望列标题的宽度应该相同,并且是相应的正文内容。
如何确保两个宽度相似,并且外观相似,就好像它们是同一表的一部分一样?
我对CSS或Javascript修复都持开放态度。
注意:我将无法使用固定的列宽度,也无法控制合并到一个表中......
也许是这样的东西?这将使您的桌子表现得好像在哪里
var table1 = document.getElementsByTagName('table')[0].getElementsByTagName('tr');
var table2 = document.getElementsByTagName('iframe')[0].contentDocument.getElementsByTagName('tr');
var tr = merge([table1,table2]);
var padding = 2; //set your padding to make up for difference from offsetwidth vs style width
var higestWidth = new Array();
for(var i in tr){
for(var j in tr[i].childNodes){
var td = tr[i].childNodes[j];
if(typeof td == 'object'){
if(higestWidth[td.cellIndex] == null || higestWidth[td.cellIndex] < td.offsetWidth){
higestWidth[td.cellIndex] = td.offsetWidth;
}
}
}
for(var j in tr[i].childNodes){
var td = tr[i].childNodes[j];
if(typeof td == 'object'){
td.setAttribute('width', higestWidth[td.cellIndex] - padding);
}
}
}
差点忘了我在这里使用我自己的一些函数,这里也来了
var foreach = function(object,loop){
for (var key in object) {
if (object.hasOwnProperty(key)) {
loop(object[key],key);
}
}
}
var merge = function(objectCollections){
var array = new Array();
foreach(objectCollections,function(objectCollection){
foreach(objectCollection,function(object){
array.push(object);
});
});
return array;
}
我有点同意罗德里戈的观点,尽管我会设置最大宽度和最小宽度,而不仅仅是像这样设置宽度:
.col-username {
max-width:150px;
min-width:150px;
}
.col-email {
max-width:200px;
min-width:200px;
}
否则,实际大小可能取决于表格单元格内容和可用空间。
如果表是否"流畅"并不重要,则可以为每个列定义类并使用 css 设置它们的样式。前任:
.col-username { width:150px; }
.col-email { width:200px; }
等等。
编辑:这是我刚刚发现的一个使用CSS来实现此效果的示例。
如果
可以的话,你应该使用<thead>
和<tbody>
。
<table>
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 / Col 1</td>
<td>Row 1 / Col 2</td>
<td>Row 1 / Col 3</td>
</tr>
<tr>
<td>Row 2 / Col 1</td>
<td>Row 2 / Col 2</td>
<td>Row 2 / Col 3</td>
</tr>
...
</tbody>
</table>
除非有原因您有单独的表,否则这样做会简单得多。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- javascript问题正文样式
- 准备outlook邮件正文时出现%0A问题
- 页面加载后向<正文>添加元素时出现问题
- 附加到IE中的正文问题
- HTML5 shiv和元素附加到正文的问题
- Google-app-script:在电子表格中使用单元格行[]的javascript电子邮件正文中的日期格式问题
- 从Typeforms webhook解析原始正文时出现问题
- Chrome中奇怪的文档正文右侧填充问题
- 表头/正文宽度问题
- HTML5:每当我发送文本区域消息来填充电子邮件的正文时,文本区域的名称就会继续.我该如何解决这个问题?