100

twitter 引导代码有很多 CSS 属性,!default末尾带有 a。

例如

p {
  color: white !default;
}

做什么!default

更新

我的不好是不清楚。我正在使用 Bootstrap 的 SASS 部分。

4

3 回答 3

96

!default 在 Bootstrap Sass 中经常使用。它类似于反向 !important。所有引导程序变量都使用 !default 设置,以允许开发人员进一步自定义引导程序。使用 !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;

那么为什么这很重要?Bootstrap 是一个包。大多数人不会编辑 Bootstrap 源代码。永远不要更新引导源。要自定义引导程序,您将添加自己的变量文件并使用引导程序代码对其进行编译,但不要接触本机引导程序包。Bootstrap sass 的页面在文档中详细介绍了如何自定义和编译它。

我不知道为什么少不这样做。我没有用 less 做太多工作,也不知道它是否有自己的内置变量管理。

小提琴示例 https://jsfiddle.net/siggysid/344dnnwz/

于 2017-03-07T21:47:47.937 回答
56

据我所知,Twitter Bootstrap 使用 LESS。另一方面,!default它实际上是 Sass 的一部分,用于为 Sass 变量 ( $var) 提供默认值,这将使其在给定的上下文中无效,即使在 Sass中也是如此。

此外,我无法!defaultLESS 文档中找到任何参考资料,据我所知,它是 Sass 独有的。你确定你在 Bootstrap 的源代码中找到了这个,而不是在其他地方吗?因为我真的不记得在 Bootstrap 的样式表中看到过 Sass/SCSS 代码。

值得一提的是,!在 CSS 中以 开头的唯一有效标记是!important您可能已经知道.

于 2012-05-17T20:42:56.957 回答
5

您可以在sass-lang网站的 doc 部分(变量)中找到以下确切定义和体面的解释- 默认值:

通常,当您为变量赋值时,如果该变量已经有一个值,它的旧值将被覆盖。但是,如果您正在编写 Sass 库,您可能希望允许您的用户在使用库的变量生成 CSS 之前配置它们。为了实现这一点,Sass 提供了 !default 标志。仅当该变量未定义或其值为空时,才会为该变量分配一个值。否则,将使用现有值。

于 2020-03-09T13:39:10.357 回答