如何配置SASS以将特定样式表编译为单独的桌面和移动版本

时间:2011-11-02 17:24:11

标签: ruby-on-rails sass

我和Sass一起运行Rails 3.1。我现在需要将样式表分为移动版和桌面版。默认情况下,sass-rails将我的assets / stylesheets / path中的每个.scss文件压缩为一个application.css文件。

相反,我希望明确告诉Sass将scss文件X编译成mobile.css并将文件Y& Z进入desktop.css

这是通过config.sass值完成的吗?我真的很感激这一方面的帮助。

2 个答案:

答案 0 :(得分:0)

通常你<%= stylesheet_link_tag:application%>

application.scss看起来像:

*= require_self
*= require_tree

使用sass的包含而不是需要文件的sprocket清单。要仍然使用application.scss,请删除行*= require_tree

所以<%= stylesheet_link_tag:mobile%>

/app/assets/stylesheets/mobile.scss

@import "bootstrap/bootstrap.scss";
@import "typography.scss";
body {
  padding-top: 60px;
}

你也会为desktop.scss做同样的事情。注意:您必须手动添加要导入的每个文件。

答案 1 :(得分:0)

使用响应设计而不是服务器端检查!更先进/更好的方法。另外,您的http请求会感谢您!

http://css-tricks.com/snippets/css/media-queries-for-standard-devices/

或者编写一个方法来检查用户代理(我假设你已经做过)并将条件化'加载你的风格