2012-04-05 32 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