2012-04-05 75 views
0

我工作的SCSS样式扩展选择,我有一个规则,看起来是这样的:使用SASS与元素

.footer-link-row { 
    color: red; 
    ul& { 
     padding: 0; 
    } 
} 

我想ul&行编译到选择ul.footer-link-row。但是,此选择器返回编译器错误,并使用&ul编译为.footer-link-row ul。选择这样的东西的正确方法是什么?

--Added--
为了澄清,最终的CSS我想出来的是这样的:

.footer-link-row { 
    color: red; 
} 
ul.footer-link-row { 
    padding: 0; 
} 

回答

1

你想要的东西,像下面这样:

ul { 
    padding: 0; 
    .footer-link-row { 
    color: red; 
    } 
} 

的符号是用来要求两个选择器匹配

a { text-decoration: none; 
    &:hover { border-width: 1px } 
} 
// compiles to 
a { 
    text-decoration: none; 
} 
a:hover { 
    border-width: 1px; 
} 

如果你想要ul.footer-link-row尝试

ul { 
    &.footer-link-row { 
    padding: 0; 
    } 
    .footer-link-row { 
    color: red; 
    } 
} 

您的澄清表明您需要两个范围。

ul { 
    &.footer-link-row { 
    padding: 0; 
    } 
} 

.footer-link-row { 
    color: red; 
} 
+0

这并不完全是我想要的......我不希望'padding:0;'适用于所有'ul',只有'ul'具有class'footer-link -row'。 – futuraprime 2012-04-05 20:18:42

+0

我想你将需要单独的嵌套ul:.footer-link-row。也许这需要超出ul {}的范围,但它取决于您的标记。 – Espilon 2012-04-05 20:32:20