2015-09-28 27 views
0

我完全被這個難住了。我SCSS文件顯示如下:Ruby on Rails資產管道似乎添加了不存在的樣式

.segmented-control { 
    li .field_with_errors label { 
     border-color: #db5757; 
    } 
} 

但是當我加載頁面,檢查CSS,它顯示了這一點:

/* line 1382, /general.scss */ 
.segmented-control li .field_with_errors label, 
.form-item-segmented-control li .field_with_errors label { 
    border-color: #db5757; 
} 

的行號,1382點恰好在第一個代碼片段,我顯示。然而在編譯版本中,它包含一個額外的選擇器,其中包括.form-item-segmented-control

我確實在CSS的其他地方使用了.form-item-segmented-control,但這裏沒有。它肯定是不是嵌套或類似的東西。

我完全被難住了。 Rails可能會做什麼的任何想法?甚至是我如何進一步調試的想法?

回答

0

好的,經過一些調試後,我相信我知道了。看起來這是由於我之前在文件中使用的@extend。我以前並沒有意識到@extend的所有影響。

它看起來像如果我做這樣的事情:

.form-item-segmented-control { 
    @extend .segmented-control; 
} 

曾經文件中,它會那麼.form-item-segmented-control選擇添加到所有出現.segmented-control。但要注意的一個重要的細微差別在於,其他SCSS局部中出現.segmented-control的情況不會這樣做。 @extend隻影響其使用的文件。

相關問題