2013-07-31 45 views
1

我正在使用Element Query項目,該項目允許在任何元素處使用@media queries。這是它如何處理:如何將#foo:media(min-available-width:350px和max-available-width:750px)放入SCSS中

#foo:media(min-available-width:350px and max-available-width:750px) { 
    background:red; 
} 

但這種語法生成錯誤(怪不得):

(Line 1: Invalid CSS after "...available-width": expected ")", 
was ":350px and max-...") 

的問題是:然後space

如何使自己的語法成SCSS文件?或者如何告訴預處理程序代碼的哪些部分應該保留原樣?或者至少,如何使這段代碼工作?

其他情況:

#foo:media(min-available-width:350px) { 
    background:red; 
} 

#foo:media(max-available-width:750px) { 
    background:red; 
} 

#foo .bar:media(min-available-width:350px) { 
    background:red; 
} 

回答

0

不要使用元素查詢。

可以實現與有效的CSS和基本SASS相同的結果:

#foo { 
    @media (min-width:350px) { 
    background:red; 
    } 
} 

這將導致下面的CSS:

@media (min-width: 350px) { 
    #foo { 
    background: red; 
    } 
} 

所以這是完全沒有必要使用元素的凌亂的方法查詢。

PS另請參閱BreakpointBreakpoint Slicer以更好地進行媒體查詢操作。

+0

使用'元素查詢'我可以把'#foo'放到頁面上的任何元素上,它將按預期工作 - 根據可用空間,而你的建議取決於視圖端口寬度。另外,CSS中沒有'* -available-width'。 – TheFrost

+0

哦,我完全錯過了Element Query的獨特查詢,對不起。 –

+0

對不起,我不知道如何與SASS做到這一點。我喜歡元素查詢背後的想法,但它的做法非常黑客,並且違背CSS標準。因此,缺乏預處理器支持。你將不得不使用'.css'文件來做這件事。 –