Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SCSS编译正在抛出语法错误isn';不是有效的CSS值_Css_Sass - Fatal编程技术网

SCSS编译正在抛出语法错误isn';不是有效的CSS值

SCSS编译正在抛出语法错误isn';不是有效的CSS值,css,sass,Css,Sass,我有一个带有两个函数的调色板scss文件,一个用于获取颜色,另一个用于获取颜色,但具有不透明度。该文件的编译不会引发任何错误,但当我打算使用不透明度函数时,我得到一个错误(“暗”:0.1,“亮”:0.8)不是有效的CSS值,我不知道为什么 $my-colors: ( 'default-blue': #0071ce, 'blue': #064f8e, 'yellow': #f79428, 'light-blue': #1888c8, 'green': #54a546, 'r

我有一个带有两个函数的调色板scss文件,一个用于获取颜色,另一个用于获取颜色,但具有不透明度。该文件的编译不会引发任何错误,但当我打算使用不透明度函数时,我得到一个错误
(“暗”:0.1,“亮”:0.8)不是有效的CSS值,我不知道为什么

$my-colors: (
  'default-blue': #0071ce,
  'blue': #064f8e,
  'yellow': #f79428,
  'light-blue': #1888c8,
  'green': #54a546,
  'red': #C82022,
  'pink': #b51e6d,
  'orange': #e54e26
);

$my-opacity: (
  'dark': 1,
  'light': 0.8
);

@function get-color($key: 'default-blue') {
  @return map-get($my-colors, $key);
}

@function get-color-alpha($name: 'default-blue', $opacity: 'dark') {
  $color: get-color($name);
  // Get the named opacity level, if it exists
  @if map-key-exists($my-opacity, $opacity) {
    $opacity: map-get($my-opacity, $opacity);
  }

  // Use rgba() to manipulate the color's alpha level
  @return rgba($color, $opacity);
}
我使用的函数如下所示:

li h3 {
            color: get-color-alpha('default-blue', 'light');
          }
$my-colors: (
  'default-blue': #0071ce,
  'blue': #064f8e,
  'yellow': #f79428,
  'light-blue': #1888c8,
  'green': #54a546,
  'red': #C82022,
  'pink': #b51e6d,
  'orange': #e54e26
);

$my-opacity: (
  "dark": 1,
  "light": 0.8
);

@function get-color($key: 'default-blue') {
  @return map-get($my-colors, $key);
}

@function get-color-alpha($name: 'default-blue', $opacity: 'dark') {
  $color: get-color($name);
  // Get the named opacity level, if it exists
  @if map-has-key($my-opacity, $opacity) {
    $opacity: map-get($my-opacity, $opacity);
  }

  // Use rgba() to manipulate the color's alpha level
  @return rgba($color, $opacity);
}

li h3 {
  color: get-color-alpha('default-blue', 'light');
}

我在sass v3.5.6文档中直接查找了该问题,发现错误是由“map key exists”函数引起的:

我没有找到该函数,但我发现要知道映射是否有与键关联的值,必须使用
map has key($map,$key)
。所以,如果你改变它,写下如下内容:

li h3 {
            color: get-color-alpha('default-blue', 'light');
          }
$my-colors: (
  'default-blue': #0071ce,
  'blue': #064f8e,
  'yellow': #f79428,
  'light-blue': #1888c8,
  'green': #54a546,
  'red': #C82022,
  'pink': #b51e6d,
  'orange': #e54e26
);

$my-opacity: (
  "dark": 1,
  "light": 0.8
);

@function get-color($key: 'default-blue') {
  @return map-get($my-colors, $key);
}

@function get-color-alpha($name: 'default-blue', $opacity: 'dark') {
  $color: get-color($name);
  // Get the named opacity level, if it exists
  @if map-has-key($my-opacity, $opacity) {
    $opacity: map-get($my-opacity, $opacity);
  }

  // Use rgba() to manipulate the color's alpha level
  @return rgba($color, $opacity);
}

li h3 {
  color: get-color-alpha('default-blue', 'light');
}
我们的sass版本3.5.6编译:

li h3 {
  color: rgba(0, 113, 206, 0.8);
}

哇!终于成功了!”我说!:D

我使用节点sass 4.8.3运行了您的精确代码,并正确地编译了以下css:
li h3{color:rgba(0,113,206,0.8);}
那么可能是我的sass版本了吗?这是3.5.6我建议更新
npm更新-g节点sass