[英]How do I make my CSS scrolling fixed to table header and the first column (I'm also open to the idea using JS or JQuery)
I am struggling trying to keep left column where my items names are from scrolling when moving left and right from my matrix table. 当我从矩阵表向左和向右移动时,我一直在努力保持滚动显示我的项目名称所在的左列。 I also want to keep the top header table from scrolling when moving up and down the scroll bar.
我还希望在上下滚动条时不滚动顶部标题表。 Can I do this in CSS?
我可以在CSS中执行此操作吗? I am using bootstrap.
我正在使用引导程序。 I would be ok doing it in JavaScript or JQuery if I have to.
如果需要,我可以在JavaScript或JQuery中做到这一点。 I've tried changing my code to have a fixed header, but it looks all messed up.
我尝试将代码更改为具有固定的标头,但看起来一团糟。
div.scroll { width: 99%; height: 100px; overflow: scroll; }
<h1><strong>Inventories</strong></h1> <div class="scroll"> <table class="table table-striped" style="width:1500px"> <thead> <tr> <th></th> <th style="text-align: center">Atlanta</th> <th style="text-align: center">Detroit</th> <th style="text-align: center">Orlando</th> <th style="text-align: center">Rochester</th> <th style="text-align: center">Bellevue </th> <th style="text-align: center">Madison </th> <th style="text-align: center">Santa Barbara </th> <th style="text-align: center">Bismarck </th> <th style="text-align: center">Ann Arbor</th> <th style="text-align: center">Sioux Falls</th> </tr> </thead> <tbody> <tr> <td style="text-align: center ">Apple MacBook Air</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">4</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> </tr> <tr> <td style="text-align: center ">Asus Zenbook</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> </tr> <tr> <td style="text-align: center ">Dell XPS</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">4</td> </tr> <td style="text-align: center ">Acer Travelmate P645.</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> </tr> <tr> <td style="text-align: center ">Sony Vaio Pro 13 Touch</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> </tr> <tr> <td style="text-align: center ">Samsung ATIV Book 9 Plus 13-inch (2015)</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">4</td> </tr> <td style="text-align: center ">HP Spectre X360.</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">4</td> </tr> <tr> <td style="text-align: center ">MacBook</td> <td style="text-align: center ">3</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">4</td> </tr> <tr> <td style="text-align: center "> UX305</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> </tr> <tr> <td style="text-align: center ">Lenovo ThinkPad T450s (Business Laptop)</td> <td style="text-align: center ">7</td> <td style="text-align: center ">5</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">3</td> <td style="text-align: center ">2</td> <td style="text-align: center ">4</td> <td style="text-align: center ">4</td> </tr> </tbody> </table> </div>
I had the same problem two days before. 前两天我遇到了同样的问题。 The way I have made this working is to make two tables one under other.
我进行此工作的方法是使两个表一个接一个。 So the top table will be the header, and the bottom table will be your table body.
因此,顶表将是表头,而底表将是表主体。 So the "header" table will sit on place and the second table will need
overflow:auto
. 因此,“ header”表将就位,第二个表将需要
overflow:auto
。 Also you should remove the scrollbar from the second table to let it keep it's width. 另外,您应该从第二个表中删除滚动条以使其保持宽度。
The minus of this implementation is that you should define widths for all columns of your both tables to make them fit each other properly. 此实现的缺点是您应该为两个表的所有列定义宽度,以使它们正确地相互适配。
By the way, you can define text-align: center
in your css for th
and td
. 顺便说一句,您可以在
th
和td
css中定义text-align: center
。
Let me know please if you need more help. 如果您需要更多帮助,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.