【发布时间】:2013-06-11 17:14:04
【问题描述】:
有一个非常不寻常的问题,我不完全确定问题出在哪里。
我有一个看起来像这样的ng-repeat 电话
.data.row.vote-entry{ "ng-repeat" => "option in agendaItem.conclusions"}
.cast-vote
%a{:href => "#", "ng-click" => "voteForConclusion(option)", "ng-class" => "{active: option.id == votedConclusion.id}"}
=image_tag "icons/icon-conclude.png"
.title
%span {{option.description}}
这很简单,而且效果很好。
现在,对于每个 .data.row.vote-entry 元素,我都有 css 规则
margin-left: 4%;
已应用,因此该行从左侧偏移。它非常适合ng-repeat 的第一项,但是当循环中有多个项目时会出现问题。当页面加载时,第一个项目在正确的位置,但是所有其他项目都在最左边,就好像他们完全忽略了 CSS 规则一样。
有时,它们会在加载后很快弹回原位,但有时它们会停留在原处。如果我用萤火虫之类的东西检查页面,CSS规则都到位了,奇怪的是,如果我禁用边距规则,然后重新启用它,它们就会全部转到正确的位置,所以我真的很困惑至于为什么会这样。
谁能告诉我这里可能发生的事情,因为我真的很难过!
这里有一个jsFiddle 演示了部分问题。不幸的是,它并没有展示条形图是如何向左侧靠得太远(无法完全重现那个),但它确实显示了条形图是如何从左侧开始太远,然后跳到正确的位置
【问题讨论】:
-
我很好奇如果将边距从 4% 更改为 20px 会发生什么,那么它是否适用于所有元素?
-
你能发布一个问题的 jsfiddle 吗?
-
@RobR 是的,如果我将其设置为固定大小,它似乎可以正常工作。我只是不愿意使用固定大小,因为页面是流动的,但如果这是唯一的选择,那么我可能会这样做。
-
@user2019515 我现在添加了一个小提琴 :)
-
我没有看到 jsfiddle 有什么异常,有什么问题?
标签: css ruby-on-rails-3 angularjs haml angularjs-ng-repeat