Cof*_*ite 69 css sass twitter-bootstrap
twitter引导代码最后有很多CSS属性!default
.
例如
p {
color: white !default;
}
Run Code Online (Sandbox Code Playgroud)
怎么!default
办?
UPDATE
我不清楚是坏事.我正在使用Bootstrap的SASS部分.
小智 68
!默认在Bootstrap Sass中经常使用.它类似于反向!重要.所有Bootstraps变量都使用!default设置,以允许开发人员进一步自定义引导程序.使用!默认sass只会定义一个尚未设置的变量.
这允许更大的灵活性.
//Example1 Dress color = red
$auroras-dress-color: blue;
$auroras-dress-color: red;
//Example2 Dress color = red
$auroras-dress-color: blue !default;
$auroras-dress-color: red;
//Example3 Dress color = blue
$auroras-dress-color: blue;
$auroras-dress-color: red !default;
Run Code Online (Sandbox Code Playgroud)
那为什么这很重要?Bootstrap是一个包.大多数人不编辑Bootstrap源.永远不要更新BOOTSTRAP来源.要自定义引导程序,您将添加自己的变量文件并使用引导程序代码进行编译,但从不接触本机引导程序包.Bootstrap sass的页面有关于如何在文档中自定义和编译它的全部内容.
我不知道为什么少不这样做.我没有用更少的工作,也不知道它是否有自己的内置变量管理.
示例小提琴 https://jsfiddle.net/siggysid/344dnnwz/
Bol*_*ock 45
就我所见,Twitter Bootstrap使用LESS.另一方面,!default
它实际上是Sass的一部分,用于给出Sass变量($var
)默认值,这会使它在给定的上下文中无效,即使在Sass中也是如此.
此外,我!default
在LESS文档中找不到任何引用,据我所知,它是Sass独有的.你确定你在Bootstrap的源代码中发现了这个,而不是在其他地方吗?因为老实说我不记得在Bootstrap的样式表中看到Sass/SCSS代码.
对于它的价值,!
在CSS 中开始的唯一有效令牌是!important
,您可能已经知道.
您可以在sass-lang网站的 doc 部分(变量)- 默认值中找到以下确切定义和合理的解释:
\n\n\n通常,当您为变量赋值时,如果该变量已经有值,则其旧值将被覆盖。但是,如果您\xe2\x80\x99 正在编写 Sass 库,则可能希望允许用户在使用库\xe2\x80\x99s 变量生成 CSS 之前配置它们。\n为了实现这一点,Sass 提供了 !默认标志。仅当该变量未定义\xe2\x80\x99t 或其值为 时,才会为该变量
\nnull
赋值。否则,将使用现有值。