繁体   English   中英

如何用SASS缩短这个CSS?

[英]How can I shorten this css with SASS?

如何使用SASS缩短此CSS代码段?

ul a{
  padding-left: 20px;
}
ul ul a{
  padding-left: 30px;
}
ul ul ul a{
  padding-left: 40px;
}
ul ul ul ul a{
  padding-left: 50px;
}

只需更改$count的值:

$count: 4;
$pad: 10px;
$ul: ul;

@for $i from 1 through $count {
  #{$ul} a {
    padding-left: $pad + (10 * $i);
  } 
  $ul: append($ul, ul)
}

它不是要缩短它,而是要让它更容易维护。

=depth($level)
  padding-left: 20px + (10px * $level)

ul
  a
    +depth(0)
  ul
    a
      +depth(1)
    ul
      a
        +depth(2)
      ul a
        +depth(3)

只是为了它的乐趣,这里有一种替代的嵌套方式:(基于@mash的回答)

=depth($level)
  padding-left: 20px + (10px * $level)

a
  ul &
    +depth(0)
    ul &
      +depth(1)
      ul &
        +depth(2)
        ul &
          +depth(3)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM