在 Ruby on Rails 上的 HAML 中,如何使用 :sass 过滤器?
如果在 Ruby on Rails 上使用 HAML,则
:sass
#someDiv
border: 3px dashed orange
它们周围不会有任何 标记。
然后
:css
:sass
#someDiv
border: 3px dashed orange
不会启动 :sass
过滤器,但
:css
:sass
#someDiv
border: 3px dashed orange
会启动 :sass
过滤器,但它位于 之外代码>标签。那么如何使用
:sass
过滤器呢?我们可以手动将 包裹在它周围,但我们希望从 sass 生成 css 但不在 HAML 中的
标签内生成 CSS 并不常见文件。
If using HAML on Ruby on Rails, then
:sass
#someDiv
border: 3px dashed orange
won't have any <style>
tag around them.
and then
:css
:sass
#someDiv
border: 3px dashed orange
won't kick on the :sass
filter, but
:css
:sass
#someDiv
border: 3px dashed orange
will kick on the :sass
filter, but it is outside of the <style>
tag. So how can the :sass
filter be used? We can manually wrap <style>
around it, but it is not common use that we want to generate css from sass but not inside <style>
tag in an HAML file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
与您的问题相关的文档位于 haml-lang.com 的此处以及更详细的解释位于 sass-lang.com。
我相信您缺少的是 sass 不应该在您的 haml 文件中使用。它们应该放置在 public/stylesheets/sass 中,扩展名为 .sass。它们将被编译成 public/stylesheets 中的 .css 文件,然后将其链接到布局中。
来自 sas-lang.com 链接:
然后,您可以使用 stylesheet_link_tag 帮助器(或链接样式表手动):
如果您确实需要在 haml 中使用 sass,这里 是回答。您不能在 haml 中嵌套过滤器。您显然需要执行以下操作:
我相信 这 是来自 haml 谷歌小组的原始回复。
The documentation related to your question is here at haml-lang.com and a more detailed explanation over at sass-lang.com.
I believe what you are missing is that sass should not be used in your haml files. They should be placed in public/stylesheets/sass with a .sass extension. They will be compiled into a .css file in public/stylesheets, which you then link into your layout.
From the sas-lang.com link:
You would then use the stylesheet_link_tag helper (or link the stylesheet manually):
If you really need to use sass within haml, here is the answer. You can not nest filters in haml. You apparently need to do something like this:
I believe this was the original response from the haml google groups.
自 4.0.0 起,
4.0.0之前,只需将其包裹在
%style
中即可:Since 4.0.0,
Before 4.0.0, just wrap it in
%style
:您还可以编写自定义过滤器来生成样式标签。
下面的示例定义了一个新的 ':csss' 过滤器。
所以你可以这样做:)
You can write a custom filter to generate style tag also.
The example below defines a new ':csass' filter.
So you can do it like this :)