scss 覆盖 原有变量


在scss的variables.scss 中会有很多的变量

$color: red !default;
$body-color: $color !default;

这些!default 和我们理解的!important 恰恰相反,default是默认的意思,在variables.scss中全部的变量字尾都有!default.

那么要覆盖我们就必须在variables之前放你的变量

// Core variables and mixins
@import "my-variables.scss";
@import "variables";
@import "mixins";
@import "custom";

在不同的状态下,赋值需要小心,参照一下例子

$color: red !default;
$body-color: $color !default;

$color: white !default;
$body-color: $color !default;

p {
    color: $body-color; //red 
}

  

$color: red;
$body-color: $color !default;

$color: white !default;
$body-color: $color !default;

p {
    color: $body-color; //red
}

  

$color: red !default;
$body-color: $color !default;

$color: white;
$body-color: $color !default;

p {
    color: $body-color; //red
}

概念和javascript是不一样的,什么情况会被赋值?当值的权重打过之前的值,就能赋值。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM