2017-08-03 90 views
1

问题:有了SCSS,我们可以指定两个不同的.main选择器吗?假设我想要另一个与margin-top: 50px同时也继承所有其他条件SCSS/SASS - 如何指定嵌套CSS的两个有效父母

我从别人继承了一些SCSS。我有以下SCSS结构:

.main { 
    margin-top: 74px; 

    ul.tabs { 
    position: relative; 

    li.tab { 
    /*The rest of nested structure*/ 
      } 
      } 
     } 

它继续嵌套(不幸)许多层。

我有一些其他选项(拆分结构在两个)这是一个简单的修复。只是好奇,如果有更好的东西。

谢谢!

+0

我想你要寻找的是'@ extend' – jhpratt

+0

从第一个第二个'.main'选择有什么区别? –

+0

@ErinHalbmaier,不同之处是相当简单。在这种情况下,填充区别 – njho

回答

1

如果使用占位符,只要一个选择器不在媒体查询中,就应该将它们组合在一起。即

%mainStyles { 
     border: 1px solid black; 
} 

.main1 { 
    margin-top: 75px; 
    @extend %mainStyles; 
} 

.main2 { 
     margin-top: 50px; 
     @extend %mainStyles; 
} 

应该产生

.main1, .main2 { 
    border: 1px solid black; 
} 
.main1 { 
    margin-top: 75px; 
} 

.main2 { 
     margin-top: 50px; 
}