scss文件中的无效属性[重复]

Posted

技术标签:

【中文标题】scss文件中的无效属性[重复]【英文标题】:Invalid property in scss file [duplicate] 【发布时间】:2021-02-07 17:30:19 【问题描述】:

在一个 scss 文件 aks-file-name.scss 中,我使用下面的代码将 css 属性放在 react 中的某个组件上

$header-height-value: 70px;

.body 
  box-sizing: border-box;
  height: calc(100% - $header-height-value);

它在height: calc(100% - $header-height-value); 行中的开发工具cs 无效属性中给出错误

和属性未应用于元素。 如果我使用下面的代码,它就完美了

.body 
  box-sizing: border-box;
  height: calc(100% - 70px);

如何解决这个问题并使其以第一种方式工作,因为在代码中放置随机 70px 对未来来说不是一个好主意。

【问题讨论】:

这是您在这个特定项目中第一次使用 .scss 文件吗?你已经配置好 webpack 了吗? 是的 webpack 已配置,但是是的,我是第一次使用。 【参考方案1】:

你可以这样做:

height: calc(100% - #$header-height-value)

模式通常是#$name,其中$name是声明变量的名称。

【讨论】:

它有效,但为什么我们必须在 中使用#,而不是直接使用 $header-height-value 它有助于 SCSS 知道如何处理 calc,就像另一种语法一样。你可以在这里阅读更多 - https://sass-lang.com/documentation/syntax/special-functions#calc-element-progid-and-expression 3 分钟后【参考方案2】:

就是Sass插值的概念

几乎可以在 Sass 样式表的任何地方使用插值,将 SassScript 表达式的结果嵌入到 CSS 块中。只需将# 中的表达式包装在以下任意位置:

@mixin inline-animation($duration) 
  $name: inline-#unique-id();

  @keyframes #$name 
    @content;
  

  animation-name: $name;
  animation-duration: $duration;
  animation-iteration-count: infinite;


.pulse 
  @include inline-animation(2s) 
    from  background-color: yellow 
    to  background-color: red 
  

插值对于将值注入字符串很有用,但其他 而在 SassScript 表达式中很少需要它。你 绝对不需要它只在属性值中使用变量。 而不是写颜色:#$accent,你可以写颜色: $口音!

为了澄清和更好的理解,请参考官方Interplation of sass

改进

calc(100% - #$header-height-value)

【讨论】:

以上是关于scss文件中的无效属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章

useBean 类属性的值...无效[重复]

scss Sass mixin - 重复相同的值,最多4个属性

scss Sass mixin - 重复相同的值,最多4个属性

Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]

故意设置无效的css属性

将具有无效字符的嵌套字段从 Spark 2 导出到 Parquet [重复]