Css Sass@extend行为,如LESS和@import

Css Sass@extend行为,如LESS和@import,css,twitter-bootstrap,sass,less,Css,Twitter Bootstrap,Sass,Less,我刚刚从LESS迁移到SASS/SCSS,因为我在网上找到了很多建议和新版本的bootstrap。 但是我确实缺少了LESS的一个重要特性,即每个类样式都可以被视为mixin .social-icons__list { .list-inline; } 问题是我不能对简单类使用@include,它应该用@mixin注释。如果是占位符,我还需要用%注释类 但就像在我的例子中一样,我需要扩展现有类并获得类似使用占位符的行为 在SASS的情况下,它会生成以下CSS .list-inline, .s

我刚刚从
LESS
迁移到
SASS/SCSS
,因为我在网上找到了很多建议和新版本的bootstrap。
但是我确实缺少了
LESS
的一个重要特性,即每个类样式都可以被视为
mixin

.social-icons__list {
  .list-inline;
}
问题是我不能对简单类使用
@include
,它应该用
@mixin
注释。如果是
占位符
,我还需要用
%
注释类

但就像在我的例子中一样,我需要扩展现有类并获得类似使用占位符的行为

SASS
的情况下,它会生成以下
CSS

.list-inline, .social-icons__list {
  padding-left: 0;
  list-style: none;
  margin-left: -5px; }
但我只需要复制样式

 .social-icons__list {
  padding-left: 0;
  list-style: none;
  margin-left: -5px; }
我会接受它,但我还必须下载
bootstrap-sass
源代码和
@import”。/externaldependency/bootstrap-sass-3.3.7/assets/stylesheets/bootstrap”

这行代码使编译器能够将
引导源中的所有样式复制到我编译的文件中

所以也许有办法解决这些问题


如果有任何帮助,我将不胜感激。

Sass没有像Less那样的类作为混合功能。您唯一的实际选择是
@extend
,尽管如此,其行为方式的差异并不重要,它将类名提升到您正在@extend的类


引导问题是一个单独的问题,如果您想使用BS类作为较少的混合,那么在编译文件中仍然需要它们。最好的策略是使用官方软件,只导入您正在使用的部件。还为大多数样式/组件定义了@mixin,因此如果不需要任何实际类,您可以导入mixin文件并使用这些文件

Thx作为答案,我是否可以使用引导导入(正如您可能看到的,我已经使用引导sass)作为依赖项,只包含我的
scss
文件中使用的部分?没有办法只提取您正在使用的类。您只能导入正在使用的引导的部分。ie
@import.。/external dependency/bootstrap-sass-3.3.7/assets/stylesheets/bootstrap/grid”
或只使用mixin构建您自己的类
@import”。/externaldependency/bootstrap-sass-3.3.7/assets/stylesheets/bootstrap/mixin/grid”或者您可以考虑在构建时使用类似UNCS的方法剥离未使用的类