使用SASS扩展带元素的选择器

时间:2012-04-05 19:48:14

标签: sass

我正在开发一个SCSS样式表,我的规则看起来像这样:

.footer-link-row {
    color: red;
    ul& {
        padding: 0;
    }
}

我希望ul&行编译到选择器ul.footer-link-row。但是,此选择器返回编译器错误,并使用&ul编译为.footer-link-row ul。选择这样的东西的正确方法是什么?

- Added--
为了澄清,我想要的最终CSS是:

.footer-link-row {
    color: red;
}
ul.footer-link-row {
    padding: 0;
}

1 个答案:

答案 0 :(得分:1)

您需要以下内容:

ul {
  padding: 0;
  .footer-link-row {
    color: red;
  }
}

&符号用于要求两个选择器匹配

a { text-decoration: none;
  &:hover { border-width: 1px }
}
// compiles to 
a {
  text-decoration: none;
}
a:hover {
  border-width: 1px;
}

如果你想要ul.footer-link-row试试

ul {
  &.footer-link-row {
    padding: 0;
  }
  .footer-link-row {
    color: red;
  }
}

您的澄清表明您需要两个范围。

ul {
  &.footer-link-row {
    padding: 0;
  }
}

.footer-link-row {
  color: red;
}