【问题标题】:Angular 5 does not generate some CSS rules from SCSSAngular 5 不会从 SCSS 生成一些 CSS 规则
【发布时间】:2018-04-26 20:19:04
【问题描述】:

我编写了一个 Angular 5 应用程序,但无法生成一些 CSS 规则。 这是一个小例子,HTML:

<table class="table-rule">
    <tr>
        <td class="cell-rule">demo text</td>
    </tr>
</table>

SCSS:

.table-rule {
    font-weight: bold;
    .cell-rule {
        color: red;
    }
}

问题来了:我应该在表格中得到一个粗体的红色文本,但我只得到红色文本(不是粗体)。我发现Angular会生成这样一个CSS:

.table-rule .cell-rule { color: red }

它不会为“.table-rule”选择器生成 CSS 规则。仅适用于“.table-rule .cell-rule”选择器。

任何想法为什么会这样以及如何解决?

附:纯 HTML+CSS 工作正常:http://jsbin.com/maxagin/edit?html,css,output

【问题讨论】:

  • 可能是 td 上的样式覆盖了您在桌面上的粗体样式。尝试将粗体添加到 td 而不是 table。
  • 不,这与样式无关。这是关于 Angular 在这里错了。 table-td 标签仅用于演示目的。
  • 显示的代码可以工作,所以它一定是您的配置或代码的另一个问题。
  • 不,它不起作用。也许其他人知道导致这种行为的条件是什么?
  • 反对的选民愿意解释吗?问题与 SCSS 编译器的不当行为有关,将帮助处于相同情况的任何人。

标签: css sass angular5


【解决方案1】:

发现一个问题:在生产 .scss 文件中,两条规则之间有一个空 cmets 行:

.rule1 {
    ...
}
/**/ <---- this one!
.rule1 {
    ...
}

删除此注释 (/**/) 修复了 SCSS 到 CSS 的转换。 SCSS 中的奇怪错误。

【讨论】:

    猜你喜欢
    • 2018-09-06
    • 2013-03-12
    • 1970-01-01
    • 2021-06-14
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    相关资源
    最近更新 更多