这些是我的页面包含的样式(最重要的是返回获取生产错误)
<link href="/assets/foundation.css" rel="stylesheet" type="text/css" />
<link href="/assets/app.css" rel="stylesheet" type="text/css" />
<link href="/assets/full_size.css" media="screen and (min-width: 761px)" rel="stylesheet" type="text/css" />
<link href="/assets/mobile_size.css" media="screen and (max-width: 760px)" rel="stylesheet" type="text/css" />
<link href="/assets/application-b0a44b2bbc0d3c94d855fbb830c2098d.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/application-cd6a361c13ee838fceb09ecb2c58c467.js" type="text/javascript"></script>
我的网站具有响应性,所以我希望根据屏幕尺寸包含所需的样式。有没有办法单独预处理我的CSS,使它看起来像这样:
<link href="/assets/foundation-b0a44b2bbc0d3c94d855fbb830c2098d.css" rel="stylesheet" type="text/css" />
<link href="/assets/app-b0a44b2bbc0d3c94d855fbb830c2098d.css" rel="stylesheet" type="text/css" />
<link href="/assets/full_size-b0a44b2bbc0d3c94d855fbb830c2098d.css" media="screen and (min-width: 761px)" rel="stylesheet" type="text/css" />
<link href="/assets/mobile_size-b0a44b2bbc0d3c94d855fbb830c2098d.css" media="screen and (max-width: 760px)" rel="stylesheet" type="text/css" />
然后就不需要application.css了,也把它组合在一起打破了我的CSS。我的网站在开发方面看起来不错:)
现在我在config / application.rb中设置了config.assets.enabled = false,压缩css会更好吗,它会自己包含它吗?
这有点类似于这个问题,除了我不喜欢任何答案。当然有一个简单的解决方案。 Using Rails 3.1 assets pipeline to conditionally use certain css
答案 0 :(得分:1)
我认为你在使用资产管道方面走错了方向。如果您要使用管道,则只需保留application.css
- 这是一个清单文件,用于包含css
文件。我的建议是从视图中移动link href=
并使用清单文件(application.css),如下所示:
*= require_self
*= require foundation
*= require mobile_size
....
*= require_tree
现在包括的是预编译的css文件(注意哈希前缀),每次修改资产时,哈希前缀都会改变。
.js
文件的情况也是如此 - 您必须将它们包含在application.js
清单文件中。
编辑:使用SASS(3.2)和媒体查询(如this CSS-tricks article中所述,关于@penner)的想法在这种情况下很适合。