Che*_*hev 12 html javascript css dom
我看了一下,似乎找不到一个像样的解决方案,这不需要一些疯狂的JavaScript,以解决以下问题.
示例中有两个单独的表.第一个是标题.第二个是身体.我们需要两个表,因为对此功能的要求是主体表可以在本地滚动,这意味着当表体滚动时,标题需要保持可见.我们不能使用任何新的花哨HTML 5数据透视表,因为我们必须支持IE.
有没有办法用纯CSS实现这一目标?它不一定是完美的,只要它看起来不错,就是我所需要的一切.
这是使用Jquery的概念示例.(你可以做香草,但需要更多的代码)
<table id="tb1" border="1">
<tr>
<td>Title 1</td>
<td>Title 2</td>
<td>Title 3</td>
<td>Title 4</td>
</tr>
</table>
<table id="tb2" border="1">
<tr>
<td>Content 00001</td>
<td>Content 02</td>
<td>Content 0000000000003</td>
<td>Content 000000000000000000004</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
JS:
function SetSize() {
var i = 0;
$("#tb2 tr").first().find("td").each(function() {
$($("#tb1 tr").first().find("td")[i]).width(
$(this).width()
);
i++;
});
}
$(window).resize(SetSize);
SetSize();
Run Code Online (Sandbox Code Playgroud)
没有"疯狂的javascript":D
这是一个工作小提琴,有一些css让它看起来更好:http://jsfiddle.net/5mfVT/
仅用 CSS 绝对可行。只需设置两个表格、trs 和 tds 的宽度,应用自动换行,并将表格布局设置为固定。最后一个设置使其使用定义的列宽,而不是由单元格内容的宽度确定。
#tb1 { width: 80%; }
#tb2 { width: 80%; }
#tb1 tr { width: 100%; }
#tb2 tr { width: 100%; }
.col1 { width: 35%; }
.col2 { width: 35%; }
.col3 { width: 20%; }
.col4 { width: 10%; }
#tb1, #tb2 { table-layout: fixed; }
#tb1 td, #tb2 td { word-wrap: break-word; }
Run Code Online (Sandbox Code Playgroud)
<table id="tb1" border="1">
<tr>
<td class="col1">Title 1</td>
<td class="col2">Title 2</td>
<td class="col3">Title 3</td>
<td class="col4">Title 4</td>
</tr>
</table>
<table id="tb2" border="1">
<tr>
<td class="col1">Content 00001</td>
<td class="col2">Content 02</td>
<td class="col3">Content 0000000000003</td>
<td class="col4">Content 000000000000000000004</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)