css增加nth-child属性值

时间:2014-11-17 13:03:14

标签: css attributes css-selectors increment

有没有办法使用nth-child(n)中的n来增加属性值,以输出结果:

div:nth-child(1){
    top: -5px;
}
div:nth-child(2){
    top: -10px;
}
div:nth-child(3){
    top: -15px;
}
div:nth-child(4){
    top: -20px;
}
div:nth-child(5){
    top: -25px;
}

1 个答案:

答案 0 :(得分:8)

如果您使用preprocessor之类的sass,则可以。

一个例子:

div {
  $var: 5;

  @for $i from 1 through 5 {
    &:nth-child(#{$i}) {
      top: -#{$var}px;
      $var: $var + 5;
    }
  }
}

演示:http://sassmeister.com/gist/7d7a8ed86e857be02d1a

实现这一目标的另一种方法:

div {

  $list: 1 2 3 4 5;

  @each $i in $list {
    &:nth-child(#{$i}) {
      top: -5px * $i;
    }
  }
}

演示:https://www.sassmeister.com/gist/fb5ee7aa774aafb896cd71a828882b99