【问题标题】:SASS/SCSS: Nesting with class as parent and tag as childSASS/SCSS:以类为父级和标签为子级嵌套
【发布时间】:2017-03-14 17:57:51
【问题描述】:

对于指定的类,我需要根据具有该类的标签应用不同的规则。生成的 CSS 应该是:

.class {
    display: block;
}
table.class {
    display: table;
}
tr.class {
    display: table-row;
}
td.class {
    display: table-cell;
}

在我的 SCSS 中,我尝试过:

.class {
    // ...

    table#{&} {
        // ...
    }
    // etc.
}

…但是它编译了这个,这是错误的:

.class {
    // ...
}
.class table.class {
    // ...
}
// etc.

我怎样才能做到这一点?

如果我将& 符号放在标签名称之前,那么它会编译为.classtable.class { … },这更糟。

【问题讨论】:

    标签: css sass nested


    【解决方案1】:

    试试@at-root

    .class {
      display: block;
      @at-root {
        table#{&} {
          display: table;
        }
        tr#{&} {
          display: table-row;
        }
        td#{&} {
          display: table-cell;
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 2015-06-23
      • 1970-01-01
      • 2012-06-20
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      相关资源
      最近更新 更多