【问题标题】:Overriding <tr> styling for <td> using sass使用 sass 覆盖 <td> 的 <tr> 样式
【发布时间】:2017-04-19 18:44:58
【问题描述】:

我目前正在开发一个 Rails 应用程序,我想用背景颜色突出显示一行,但除此之外,在该行中用不同颜色突出显示一个数据单元格。

我遇到的问题是 td 的样式似乎被忽略了。我只是得到整行的背景颜色。

检查 css 客户端,我为 td 应用的样式似乎根本不存在。

生成的html

<table id="project-table" class="table table-hover">
  <thead>
    <tr>
      <th>Row</th>
      <th>Fubar</th>
    </tr>
  </thead>

  <tbody>
    <tr class="clickable-row cheese">
      <td>Row 1</td>
      <td class="'wibble'">Hello World</td>
    </tr>
  </tbody>
</table>

野蛮人

#project-table tbody tr.cheese {
  background-color: yellow;

  & td.wibble {
    background-color: blue;
  }
}

我做错了什么?

ps:使用 bootstrap 3,但我认为这与这个问题无关,是吗?

更新 [已解决]

好吧,看来我是瞎子,没有意识到为class="'wibble'" 生成了一组额外的双引号 - 感谢@Dekel 迅速指出这一点,并让我找到了真正的原因问题。

为了解决产生额外引号的问题,我必须将输出标记为 html_safe:

<td<%= ((index == @project.active_pattern_index) ? ' class="wibble"' : '').html_safe %>>
  <%= pattern.row(count).instruction %>
</td>

【问题讨论】:

    标签: html css ruby-on-rails twitter-bootstrap-3 sass


    【解决方案1】:

    td 标签中的class 应该是wibble(而不是'wibble')。

    您不应该在类属性类中使用单引号:''

    <table id="project-table" class="table table-hover">
      <thead>
        <tr>
          <th>Row</th>
          <th>Fubar</th>
        </tr>
      </thead>
    
      <tbody>
        <tr class="clickable-row cheese">
          <td>Row 1</td>
          <td class="wibble">Hello World</td>
        </tr>
      </tbody>
    </table>
    

    【讨论】:

    • omg ... 掌心... 现在我很尴尬... ty 多出一双眼睛,在这种情况下我需要它们... 我要去再喝杯咖啡:D。虽然这很奇怪......不知道那些双引号来自哪里......我正在做&lt;td&lt;%= index == @project.active_pattern_index ? " class='wibble'" : '' %&gt;&gt;&lt;%= pattern.row(count).instruction %&gt;&lt;/td&gt;。但没关系,我会弄清楚的……你让我走上了正确的轨道。再次感谢!
    • 好的,不再生成额外的双引号......必须将输出标记为 html_safe,现在它可以工作了。
    猜你喜欢
    • 2013-03-23
    • 2013-07-08
    • 1970-01-01
    • 2013-12-13
    • 2012-10-01
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    相关资源
    最近更新 更多