【发布时间】:2013-11-23 21:48:16
【问题描述】:
好的。我想不通。问题是 @extend 在 css 中不起作用。我有css:
@import "bootstrap";
.field_with_errors {
@extend .control-group;
@extend .error;
}
它不会突出显示具有 div 类 .field_with_errors 的字段。我不知道为什么,它适用于我制作的其他应用程序。如果我用 CSS 编写类似 color: #f00; 的东西 - 这很有效。出于某种原因,它只是不@extend。有什么想法吗?
表格:
<h1>Report</h1>
<div class="row">
<div class="span6 offset3">
<%= form_for(@problem) do |f| %>
<%= render 'shared/error_messages' %>
<%= f.label :name, raw("Your name:") %>
<%= f.text_field :name %>
<%= f.label :email, raw("E-mail address (for confirmation):") %>
<%= f.text_field :email %>
<%= f.label :description, raw("Enter a description of the problem:") %>
<%= f.text_area :description %>
<%= f.submit "Submit", class: "btn btn-large btn-primary" %>
<% end %>
</div>
</div>
可能是一个愚蠢的问题,我一定错过了什么。我只是不知道它是什么,并且真的希望它像以前一样工作。任何帮助表示赞赏!
编辑:
在查看了 bootstrap-sass 文件后,我意识到我能够@extend 文件中的类(例如@extend .form-control 有效)。所以一定是.error和.control-group不存在!!它去了哪里,我仍然无法弄清楚,除非他们像一周前那样改变它。 :/
【问题讨论】:
-
@extend用于 SASS,也就是scss文件。您的 CSS 文件是否以.scss结尾? -
是的,文件是custom.css.scss
-
也许我能弄清楚这些类的定义位置(.error 和 .control-group)。就好像它们没有定义或者它们无法以某种方式导入。 Sass 有效,我通过创建一个类并将其扩展到另一个类中进行了测试。
-
.control-group不在 Bootstrap 3 中,它已替换为.form-group和.error不是 Bootstrap 的一部分,它可能在脚手架 css 中定义,但你现在可能不包括它,或者顺序正确吗? -
当你运行
rails generate scaffold MyController时,它会为你创建一些基本的 css,我相信其中包括一个.error类。我认为问题就像你所说的那样——你不能扩展不存在的东西。.control-group不在引导程序 3 中,如果您没有使用脚手架 css 或一开始没有脚手架任何控制器,则可能不会定义.error。我假设您正在通过 HTML sn-p 使用 Rails,但也许您没有。
标签: css twitter-bootstrap sass