在ng-repeat中修改时,绝对位置div无法正确呈现 - Chrome特定问题

时间:2015-08-14 16:00:35

标签: css angularjs google-chrome

这种行为对我来说有点混乱,所以我希望得到一些外部帮助来了解正在发生的事情。

我准备了一个小提琴来说明行为http://jsfiddle.net/cseignc/mfoejqum/

我有一个html表,其标题通过一些CSS绝对定位第二个标题来保持固定。

由于ng-repeat指令循环遍历列和行数组,因此生成了表。

为了提供水平滚动,在保持第一列和标题固定的同时,我使用ng-repeatstartFrom过滤器将列数组过滤到LimitTo

我提供导航按钮(左右V形),允许用户在表格中水平滚动。这些按钮递增/递减传递给startFrom过滤器的值。

这对于表体正常工作,但第二个标头无法正确呈现。我甚至发现无法检测第二个标题的呈现方式是否一致 - 或者不是。

我最初认为这与$scope.$apply()未被调用有关,但我的所有代码都在AngularJs中,所以我不相信需要调用它...如果我有正确的请求我我错了。

我发现调整屏幕大小会使标题正确呈现。

对此的任何见解将不胜感激。

谢谢!

编辑: 上述问题似乎是针对Chrome的。我已经测试了IE和Firefox中的行为,并且标题在这些浏览器中正确呈现。

1 个答案:

答案 0 :(得分:0)

我对你的小提琴进行了一些改动,这应该会让你有一个开始实现你想要的东西:

http://jsfiddle.net/a06uvkr3/

要点是我:

1)在控制器中将$scope.skip初始化为0

2)抛弃了ng-repeat过滤器,并使用基于ng-show的某些逻辑$index

3)调整CSS以使标题的.tr-inner容器是绝对的而不是其中的内容,并使标题具有固定的高度。还调整了一些填充,以解决标题项被抛出一点

显然我无法验证它是否适合您的确切用例,但您可以看到结果更有希望。