插值

Stylus通过使用{}包裹表达式来进行插值。例如,-webkit-{‘border’ + ‘-radius’}等同于-webkit-border-radius。

比较典型的例子就是各浏览器私有属性前缀:

  1. vendor(prop, args)
  2. -webkit-{prop} args
  3. -moz-{prop} args
  4. {prop} args
  5. border-radius()
  6. vendor('border-radius', arguments)
  7. box-shadow()
  8. vendor('box-shadow', arguments)
  9. button
  10. border-radius 1px 2px / 3px 4px

编译CSS为:

  1. button {
  2. -webkit-border-radius: 1px 2px / 3px 4px;
  3. -moz-border-radius: 1px 2px / 3px 4px;
  4. border-radius: 1px 2px / 3px 4px;
  5. }

选择器插值

选择器也可以使用插值。在下面示例中,我们可以遍历设置表格前5行的height属性:

  1. table
  2. for row in 1 2 3 4 5
  3. tr:nth-child({row})
  4. height: 10px * row

编译CSS为:

  1. table tr:nth-child(1) {
  2. height: 10px;
  3. }
  4. table tr:nth-child(2) {
  5. height: 20px;
  6. }
  7. table tr:nth-child(3) {
  8. height: 30px;
  9. }
  10. table tr:nth-child(4) {
  11. height: 40px;
  12. }
  13. table tr:nth-child(5) {
  14. height: 50px;
  15. }