首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入SCSS?

输入SCSS?
EN

Stack Overflow用户
提问于 2022-01-21 21:06:36
回答 2查看 110关注 0票数 0

基本上,我试图根据传递给SCSS混频器的值是偶数还是奇数来设置CSS值。

做了一些环顾四周,发现有做蹲。在带有CSS/SCSS的搜索词中提到奇数/偶数,结果只是:nth-子结果。

余数运算符在CSS中不起作用,因此确定奇数/偶数的方法不起作用。然后,我试图沿着这样的路线走下去:一个数字除以2将导致一个数字类型或整数类型,这取决于它是偶数还是奇数,不是。

我唯一可行的选择似乎是

代码语言:javascript
复制
$valType1: "odd";

   @if $val1 == 2 {
    $valType1: "even";
  } @else if $val1 == 4 {
    $valType1: "even";
  } @else if $val1 == 6 {
    $valType1: "even";
  } @else if $val1 == 8 {
    $valType1: "even";
  } @else if $val1 == 10 {
    $valType1: "even";
  } @else if $val1 == 12 {
    $valType1: "even";
  } @else if $val1 == 14 {
    $valType1: "even";
  } @else if $val1 == 16 {
    $valType1: "even";
  } @else if $val1 == 18 {
    $valType1: "even";
  } @else if $val1 == 20 {
    $valType1: "even";
  } @else if $val1 == 22 {
    $valType1: "even";
  } @else if $val1 == 24 {
    $valType1: "even";
  } @else if $val1 == 26 {
    $valType1: "even";
  }

  @if $valType1 == "even" {
    background-color: red;
  }

一定有什么东西。有什么帮助建议吗?我是不是忽略了一些显而易见的痛苦?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-21 21:30:19

这是对@function的一个很好的使用,而不是混音。您可以使用% 模算子进行此操作。

为清晰起见添加了一个@mixin (和另一个选项)。

代码语言:javascript
复制
@function evenOdd( $value) {
    $number : blue;
    
    @if ($value % 2 == 0) {
        $number : red 
    }
    
    @return $number;
}

@mixin evenOdd( $value ) {
    @if ($value % 2 == 0) {
        background-color: red;
    } @else {
        background-color: blue;
    }
}

.selector {
    background-color: evenOdd(2);
    /* compiles to red */
}

.selector {
    background-color: evenOdd(3);
    /* compiles to blue */
}

.selector {
    background-color: evenOdd(4);
    /* compiles to red */
}

/* MIXINS */
.selector {
    @include evenOdd(2);
    /* compiles to background-color: red */
}

.selector {
    @include evenOdd(3);
    /* compiles to background-color: blue */
}

你可以把它转到https://www.sassmeister.com/上,然后看着魔法的发生。

票数 1
EN

Stack Overflow用户

发布于 2022-01-21 21:33:57

Sass支持数字运算符,因此可以使用模来计算值的奇偶。

代码语言:javascript
复制
$valType1: "odd";

@if $val1 % 2 == 0 {
    $valType1: "even";
}

@if $valType1 == "even" {
    background-color: red;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70807638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档