我正在使用SCSS来改变bootstrap 4的样式以创建我自己的样式,但是当我编译我的SCSS时,我得到了这个错误:
{
"status": 1,
"file": "H:/!WEBSITE/modules/The Force - Bootstrap/content/scss/variables/variables.scss",
"line": 330,
"column": 34,
"message": "Incompatible units: 'px' and 'px*px'.",
"formatted":
"Error: Incompatible units: 'px' and 'px*px'.
on line 330 of scss/variables/variables.scss
>> $input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;"
}
我的变量值:
$font-size-base: 14px !default;
$line-height-base: 1.846 !default;
$input-line-height: floor(($font-size-base * $line-height-base)) !default;
$input-padding-y: 6px !default;
弹出错误的行:
$input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
我不明白为什么它不起作用,我更了解如何解决它。我使用node-sass编译SCSS,我认为问题不是来自node-sass,因为它不是我第一次使用它而且我整天都在使用它而没有出现任何类似的错误。
答案 0 :(得分:6)
您的问题是,您将px
与px
相乘,从而导致px
2
因此请从变量px
$font-size-base
$font-size-base: 14 !default;
$line-height-base: 1.846 !default;
$input-line-height: floor(($font-size-base * $line-height-base)) !default;
$input-padding-y: 6px !default;
$input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
请参阅 DEMO
有关SASS单位here
的更多信息