如何使表格列可滚动,在Angular 2中冻结多个列?

时间:2017-05-17 07:29:36

标签: html css twitter-bootstrap angular

我有一个包含3列的表,这些列需要始终位于左侧,而列包含网格,其中每个网格元素代表一天中的一小时,因此我需要该列可滚动。我尝试了许多建议的解决方案,但大多数都使用绝对位置,这是一个糟糕的笑话,因为当我使用它时,我失去了表的优点,例如行的高度变化,那些绝对定位不遵循。而另一个问题是该表由几个Angular 2组件组成,它不仅仅是简单的html,这使得它变得更难。有没有比使用绝对位置更好的解决方案?

3 个答案:

答案 0 :(得分:1)

我采用了这种方法。我不会在垂直和水平方向上工作。

https://plnkr.co/edit/MWFJuiWsUoo39xbCwAKI?p=preview

onScrollA($evt) {
   this.divC.nativeElement.scrollLeft = evt.srcElement.scrollLeft;
}

答案 1 :(得分:0)

也许尝试使用position: sticky;但是如果没有代码,很难看出问题出在哪里。

答案 2 :(得分:0)

嗯,最后我才开始使用这个解决方案: Fix and Scrollable table structure using html div

它仍然使用绝对列,因此固定的宽度和边距,但只要它工作,我就能生活。关于表示表格行的Angular组件元素,我只给它display: table-row并简单地将td标签放入其中,因此不再需要使用tr。