【问题标题】:Margin-left with ng-repeat working for first element onlyMargin-left 与 ng-repeat 仅适用于第一个元素
【发布时间】: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


【解决方案1】:

看起来使用left: 4% 可以正常工作,即使margin-left: 4% 不能正常工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多