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