2013-04-07 5 views
15

मैं फिल्टर एससीएसएस में इस तरह Mixin उपयोग करने के लिए कोशिश कर रहा हूँ:कम्पास फ़िल्टर मिश्रण का उपयोग कैसे करें?

a { 
    @include filter(grayscale(100%)); 
} 

लेकिन जब मैं संकलन, मैं इस त्रुटि मिली: मैं के साथ इस रत्न के नवीनतम संस्करण का उपयोग कर रहा

Undefined mixin 'filter'. 

रेल ढांचे। सास फ़ाइल के शीर्ष पर @import "compass/css3/filter":

http://compass-style.org/reference/compass/css3/filter/

+1

आप फ़ाइल जहां mixin परिभाषित किया गया है आयात करने के लिए याद किया बिना डाल? '@import" कंपास/सीएसएस 3/फ़िल्टर "' – cimmanon

+1

@cimmanon हाँ! अन्य mixins अच्छी तरह से काम करते हैं ... :) –

उत्तर

1
Compass documentation इस फ़ाइल का उपयोग कर आयात किया जा सकता के अनुसार

और फिर सास में फ़ाइल के रूप में

filter($filter-1, $filter-2, $filter-3, $filter-4, $filter-5, $filter-6, $filter-7, $filter-8, $filter-9, $filter-10) 
20

एस.ए.एस.एस. उदाहरण के लिए इसका इस्तेमाल कर सकते हैं

@import 'compass/css3/filter' 

.filtered 
    @include filter(grayscale(50%)) 
    @include filter(blur(2px)) 
+0

ध्यान दें: सभी/संभवतः कोई फ़ायरफ़ॉक्स ग्रेस्केल फ़िल्टर का समर्थन नहीं करता है। (स्थिति: जून 2014) फ़ायरफ़ॉक्स ग्रेस्केल फ़ॉलबैक के लिए: http://stackoverflow.com/questions/12173130/css-filter-not-working-in-firefox –

+2

वास्तव में एकाधिक फ़िल्टर लागू करने के लिए आपको उन्हें सभी को पास करना होगा एक '@ शामिल फ़िल्टर() '। दो @includes का उपयोग करके कई फ़िल्टर गुणों का उत्पादन होगा और उपयोग किए गए अंतिम एक को पहले के किसी भी ओवरराइड को ओवरराइड कर दिया जाएगा। –

10

आप पहले कम्पास फिल्टर आयात करने के लिए की जरूरत है।

एकाधिक फिल्टर का उपयोग करने के सभी के अंदर फिल्टर() अल्पविराम

@import 'compass/css3/filter' 

// multiple calls like this: 
.filtered { 
    @include filter(blur(4px) brightness(1.3) saturate(1.5)); 
} 
संबंधित मुद्दे