【问题标题】:What is the best way to create conditional stylesheets with Sass and Symfony2's Assetic?使用 Sass 和 Symfony2 的 Assetic 创建条件样式表的最佳方法是什么?
【发布时间】:2014-05-02 17:33:15
【问题描述】:

我的项目框架是 Symfony 2.0。我通过 Assetic 使用 Compass 过滤器来编译我的 Sass 文件。但是,一旦我将编译的 CSS 文件放在头部,我不确定如何构建它,因为我有条件代码来加载某些 css 文件。除此之外,我希望能够包含我的 IE 条件。

(i.e.<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->). 

不确定我是否应该使用我在下面创建的相同 If 语句,或者是否有更优雅的解决方案:

即 CssBundle/Resources/views/stylesheets.html.twig

{% block stylesheets %}
    {% if isEspanol %}
        {% stylesheets filters=”compass” @cssBundle/Resources/css/core/es/main.desktop.scss” %}
    {% else %}
        {% stylesheets filters=”compass” @cssBundle/Resources/css/core/main.desktop.scss” %}
    {% endif %} 
<link rel=”stylesheet” href=”{{ asset_url }}” />
{% endstylesheets %}

CoreBundle/Resources/views/Layout/default.desktop.html.twig

<head>
    {% include “::stylesheets.html.twig” %}
</head>

【问题讨论】:

    标签: css symfony sass stylesheet compass-sass


    【解决方案1】:

    我对交响乐框架一无所知, 但如果您唯一的问题是 IE hack 的条件样式表,那么答案可能是不使用条件样式表

    改用 html 条件类

    <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    <!--[if IE 7]>    <html class="lt-ie9 lt-ie8"> <![endif]-->
    <!--[if IE 8]>    <html class="lt-ie9"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class=""> <!--<![endif]-->
    

    Paul Irish's recommendations here

    【讨论】:

    • 我想我可以在样式表块中的 中添加 HTML 条件类。但是我希望有一个优雅的解决方案,因为我使用 Assetic 为我管理样式表,我认为添加条件及其相关样式表会有编程解决方案。
    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 2017-08-06
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多