我正在将我的应用程序迁移到 Rails 3.1 并使用 blueprint css framework .如 blueprint's github page 处的设置说明所示要包含 ie.css 文件,需要满足一个条件。
在 rails 3.1 中,我们将样式表文件(.css 或 .scss)放在 app/assets/stylesheets 中。 Application.css 包含这两个重要的行:
/*
*= require_self
*= require_tree .
*/
它加载 app/assets/stylesheets 目录中的每个 .css 或 .scss 文件。这是设置说明告诉我们要做的:
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
<!--[if lt IE 8]>
<link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection">
<![endif]-->
如何在 3.1 中“创建”这样的条件?
最佳答案
尝试使用三个单独的文件来要求所有相关文件:
/*
* Application-Screen.css
*
*= require_self
*= require_tree ./screen
*/
/*
* Application-Print.css
*
*= require_self
*= require_tree ./print
*/
/*
* Application-IE.css
*
*= require_self
*= require_tree ./ie
*/
这棵树看起来像:
app/stylesheets/
+---screen/
| +--- Your actual stylesheets, along with Blueprint's
+---print/
| +--- Your print stylesheets, along with Blueprint's
+---ie/
| +--- IE compatibility stylesheets
+---Application-Screen.css
+---Application-Print.css
+---Application-IE.css
那么你可能能够做到:
<link rel="stylesheet" href="Application-Screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="Application-Print.css" type="text/css" media="print">
<!--[if lt IE 8]>
<link rel="stylesheet" href="Application-IE.css" type="text/css" media="screen, projection">
<![endif]-->
如果这不起作用,请查看我的其他答案。
关于ruby-on-rails - 蓝图 CSS、Ruby on Rails 3.1 和 "CSS conditions",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317948/