2012-02-23 52 views
1

我有一个程序可以生成静态HTML文件。我有一个表格中文件各部分的链接列表。我希望能够跳转到链接或滚动文件并让表格保持固定。我有这个代码,通过CSS工作:修复表的位置

<table> 
<tr><td><table><tr><td> <div style="position:fixed; top:50px; right:10px"> Table of Contents Table</div> <td></tr> 
<tr><td> <div style="position:fixed; top:65px; right:10px">Some Contents</div></tr> 
<tr><td> <div style="position:fixed; top:80px; right:10px">Some More Contents</div> </td></tr> 
<tr><td><div style="position:fixed; top:95x; right:10px"> Even More Contents</div> </td></tr> 
</table> 

我有这个代码不起作用。如果我将样式标签包裹在整个表格中,它会锁定整个页面,并且无法滚动。即使我用div标签包装表格,也会发生这种情况。这样做比较好,因为我不必像表格的每一行都有自己的样式标签一样玩垂直偏移。

<style type="text/css"> 
table#t-legend 
{ position: fixed; top: 50px; left: 10px } 
</style> 

<div> <table id="t-legend"> 
<tr><td><table><tr><td> Fixed Contents Table</td></tr> 
<tr><td> Some Contents</tr> 
<tr><td> Some More Contents</td></tr> 
<tr><td> Even More Contents</td></tr> 
</table> 

回答

1

结帐这个小提琴http://jsfiddle.net/pPQu2/3/ 这里请注意,我已经删除了#T-legend的css,并且检查了标记。希望这可以帮助。 :)

+0

谢谢。我可能会采用这种方法,并在顶部有固定链接,并让主表在其下滚动 – 2012-02-23 13:05:19

+0

gr8 !!! :)也发布任何其他方法/解决方法,你可能会发现。 – Abhidev 2012-02-23 13:21:07

0

您还没有关闭您的<div>标签:

<div> 
    <table id="t-legend"> 
     <tr><td><table><tr><td> Fixed Contents Table</td></tr> 
     <tr><td> Some Contents</tr> 
     <tr><td> Some More Contents</td></tr> 
     <tr><td> Even More Contents</td></tr> 
    </table> 
<!-- close the tag here --> 
</div> 

未关闭的标签可能会导致的问题种种,试试这个,并报告如果你的代码仍然不能正常工作。

更好:在JSFiddle中重新创建您的问题。

+0

对不起。不关闭div标签是一个错字。在代码中它是关闭的。 div标签无论如何都没有改变。无论是否存在,页面仍然不会滚动。我在JSFiddle重新创建了这个问题。这是一个方便的网站。如果我不包含上述固定位置表的代码,结果窗口可以让我滚动。如果我包含代码,结果窗口没有滚动条。 – 2012-02-23 03:23:05

+0

@DavidGreen如果你可以提供一个链接到你的JS小提琴 – 2012-02-23 03:37:15

+0

这里是不会滚动的小提琴:http://jsfiddle.net/pPQu2/这里是一个小提琴,它将:http:// jsfiddle.net/JuRXg/区别在于第一个用CSS样式修复的表。我可以删除该表格或删除样式标签,并再次滚动页面。 – 2012-02-23 05:35:26

1

您的html无效。

<table id="t-legend">没有匹配的结束标签,还有一些其他未打开/未关闭的tr,td,p标签。验证你的html始终是一个很好的开始。

查看http://jsfiddle.net/pPQu2/5/的工作示例。我没有修复所有不良的html,但固定位置的作品。希望这可以帮助。

+0

谢谢你。额外的表格标签不应该在那里。我想我昨晚盯着那里一个小时,从来没有注意到它。我知道固定桌子会堆叠在较大的桌子上,我只是想让固定桌子工作。 :) – 2012-02-23 13:06:54

1

我不知道这是否是你的意思所以请原谅我,如果我错了,但我检查你的jsfiddle页面,如果你想与你的表的页面是滚动只是改变你的CSS如下:

{ position: fixed; top: 50px; left: 10px } 

到:

{ position: relative; top: 50px; left: 10px } 

然而,这是一个有点创可贴黑客的,我这样说是因为其他一些成员已经指出,一定要确保是重要的,你闭上你的

<tr> 

标签与

</tr> 

,并保持你的TD标签TR标签内,并关闭它们,以及像这样:

<tr><td> whatever u want here </td></tr> 

截至目前你的表是不是写得好,并不会验证过。编码时应保持良好的习惯,以便像我们其他人一样成为酷酷家。希望有所帮助。