【问题标题】:Multiple classname selectors with SASS使用 SASS 的多个类名选择器
【发布时间】:2016-05-05 21:50:44
【问题描述】:

我有一个 CSS 代码需要转换为 SASS 以使其更加通用且易于编辑。

我需要实现的是:我有这个选择器:

.responsive .selector,
.responsive-no-touch .selector,
.responsive-android .selector {
     property: value;
}

我怎样才能使 mixin 以 .responsive.responsive-no-touch.responsive-android 为目标,而我只需要编写 .selector 部分?

这不起作用:

.responsive, 
.responsive-no-touch, 
.responsive-android {
    .selector {
         property: value;
    }
}

我正在使用 Liferay,这个平台会自动用 SASS 编译 CSS。

谢谢。

【问题讨论】:

    标签: css sass mixins


    【解决方案1】:

    您尝试过以下方法吗?

    .responsive, 
    .responsive-no-touch, 
    .responsive-android {
        &.selector {
             property: value;
        }
    }
    

    【讨论】:

    • 天啊,我认为你是对的。我错过了父选择器&。对不起,我是 SASS 的新手。我会努力的,我会告诉你的。
    【解决方案2】:

    你的例子,对于这种 if 标记:

    <div class='responsive'>
        <div class='selector'></div>
    </div>
    

    但据我了解,您有类似的情况:

    <div class='responsive selector'>
    </div>
    

    这就是你应该使用的原因:

    .responsive, 
    .responsive-no-touch, 
    .responsive-android {
        &.selector {
             property: value;
        }
    }
    

    【讨论】:

    • 天啊,我认为你是对的。我错过了父选择器&amp;。对不起,我是 SASS 的新手。我会努力的,我会告诉你的。
    • @MarcosPérezGude 看看 this 部分 SASS 文档
    • 谢谢。我以前读过那种东西,但是我被卡住了,我的大脑崩溃了,那是因为我问了这个问题。我会接受这个答案是正确的,因为它不是第一个,但有一个解释,你的赞成票比另一个答案少。你们俩都是功德无量,名声越来越大。
    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多