2016-06-19 53 views
2

如果我有这样的如何将规则导入sass中的另一条规则?

.base { 
    color:red; 
} 

.variation1 { 
    color:red; 
    border:1px solid black; 
} 

我怎样才能将其更改为类似

.base { 
    color:red; 
} 

.variation1 { 
    import @.base 
    border:1px solid black; 
} 

的青菜?我基本上不想重复基本的东西,我想导入它的属性。

有谁知道吗?

感谢

回答

2

密新

您可以创建一个mixin创建CSS的可重复使用的块。这有助于避免重复的代码。

与下面的示例相比,我会建议更多的语义命名系统。

@mixin base { 
    color: red; 
} 

.base { 
    @include base; 
} 

.variation1 { 
    @include base; 
    border:1px solid black; 
} 

有关混入指令看看这个article上Sitepoint更多信息。

扩展

CSS Tricksextend功能,还可以用来很好地阐述但它有一些怪癖吧。

.base { 
    @include base; 
} 

.variation1 { 
    @extend .base; 
    border:1px solid black; 
} 
  • 它扩展所有嵌套的选择以及
  • 它不能扩展嵌套选择
  • 不能在媒体查询内部延伸到媒体查询之外定义选择

CSS Tricks

+1

'@ extend' http://sass-lang.com/guide – omega

+0

这是一个选项,但显然它也扩展了所有嵌套选择器。这可能并不总是理想的结果,但我会更新我的文章以作参考。 – cbillowes