SASS错误:不兼容的单位:'px'和'px * px'

时间:2017-03-14 22:18:59

标签: css node.js twitter-bootstrap sass bootstrap-4

我正在使用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,因为它不是我第一次使用它而且我整天都在使用它而没有出现任何类似的错误。

1 个答案:

答案 0 :(得分:6)

您的问题是,您将pxpx相乘,从而导致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

的更多信息