2016-05-12 59 views
2

我有一個變量,其中包含一些字符串值的形式,例如一些百分比。 '10%'如果百分比高於'0%',我想使用該值來創建類名稱以添加到我的html元素。我以爲這會很容易使用sass循環,但我似乎無法正確構建類名。 我認爲它看起來像這樣。sass選擇器是否可以包含'%'字符?

@for $i from 1 through 100{ 
    .highlight-#{$i}% { 
     // styling 
    } 
    } 

    .highlight-0% { 
     // styling 
    } 

我嘗試了好幾種變化:

.highlight-#{$i + '%'} { // styling } 
.highlight-#{$i}${'%'} { // styling } 

我不知道這甚至有可能因爲「%」可以被保留。

我正在添加html以防萬一有人可以建議一種方法來刪除那裏的%。這是我希望能夠做到的:

<tr><td class="pad-10 highlight-${publisher.numViewsPercentage}" align="center">${publisher.numViewsPercentage}</td></tr> 
+0

有關更改''%爲'prct'什麼? – arcee123

+0

我只有我的字符串值的HTML頁面,我不能改變它,因爲它最終被用作顯示值。如果這個值是一個數字並且在html中添加了%,那將是理想的。我將添加我的元素看起來像也許有建議刪除構建類名稱的百分比。 – dspano

+0

其中是publisher.numViewsPercentage? – arcee123

回答

4

不僅%是Sass中的保留字符,更大的問題是它不是CSS選擇器名稱中的允許字符。所以即使你可以讓Sass編譯,結果類名也是無效的,並且不起作用。

大部分選擇器名稱只需使用字母,數字,下劃線和連字符。

.nopercent { 
 
    color: red; 
 
} 
 

 
.percent% { 
 
    color: red; 
 
}
<div class="nopercent"> 
 
    An element withOUT a percent sign in the class. 
 
</div> 
 
<div class="percent%"> 
 
    An element with a percent sign in the class. 
 
</div>

1

%是SASS自3.2版以來的佔位符字符。 您應該將其用於「隱形」擴展。

相關問題