2012-04-05 14 views
14

@include mixin(); को चर के लिए सेट करने का कोई तरीका है? मैंने कोशिश की इसवैस में @ mixin को चर सेट करना?

@mixin bg-gradient($fallback, $type, $positionX, $positionY, $from, $from-percent, $to, $to-percent){ 
    background: $fallback; 
    background: -webkit-#{$type}-gradient($positionX $positionY, $from $from-percent, $to $to-percent); 
    background: -moz-#{$type}-gradient($positionX $positionY, $from $from-percent, $to $to-percent); 
    background:   #{$type}-gradient($positionX $positionY, $from $from-percent, $to $to-percent); 
} 

$navBg: @include bg-gradient(#eee, radial, top, center, #999, 0%, #555, 100%); 
body { $navBg; } // it gave me an error 

उत्तर

25

मुझे लगता है कि विशेष रूप से करने के लिए किसी भी तरह से के बारे में पता नहीं कर रहा हूँ, लेकिन अगर आप सिर्फ ढाल के उस विशेष प्रकार पर जाकर अपनी सेटिंग सुखाने के लिए कोशिश कर रहे हैं, तो आप इसके लिए एक आवरण mixin लिख सकता है :

@mixin navBg() { 
    @include bg-gradient(#eee, radial, top, center, #999, 0%, #555, 100%); 
} 
body { @include navBg; } 

संपादित:

Here 'एस.ए.एस.एस. चर द्वारा समर्थित डेटा प्रकार के सा सूची। न तो मिश्रण कॉल, न ही उनके परिणाम (पूरे सीएसएस नियम), शामिल हैं। मैंने स्ट्रिंग के रूप में शामिल करने और इसे इंटरपोल करने का भी प्रयास करने का प्रयास किया, लेकिन यह केवल अंतिम परिणाम सीएसएस के लिए काम करता है, आगे के निर्देश नहीं।

+2

समाधान के लिए Thnx और अतिरिक्त जानकारी के लिए! मैं वास्तव में – FoxKllD

3
@mixin gradient ($place, $bcolor1, $bcolor2){`<br>` 
    background-image: linear-gradient($place, $bcolor1, $bcolor2)`<br>` 
    background-image: -o-linear-gradient($place, $bcolor1, $bcolor2)`<br>` 
    background-image: -moz-linear-gradient($place, $bcolor1, $bcolor2)`<br>` 
    background-image: -webkit-linear-gradient($place, $bcolor1, $bcolor2)`<br>` 
    background-image: -ms-linear-gradient($place, $bcolor1, $bcolor2)`<br>` 
} 

body{ 
    @include gradient(bottom, #F90000 18%, #FF4C4C 66%) 
} 
3

यदि आप SASS चर में लौटाए गए मान को सेट करने का प्रयास कर रहे हैं, तो आपको @ फ़ंक्शन का उपयोग करने की आवश्यकता नहीं है, न कि @ mixin। यह मुझे थोड़ी देर के लिए लटका दिया और @ समारोह के बारे में पता नहीं था। उदाहरण के लिए ...

@function font($font-size, $line-height: 1.4, $font-family: Arial) { 

    @if $line-height == 1.4 { 
     $line-height: round($line-height*$font-size); 
    } 

    @return #{$font-size}/#{$line-height} $font-family; 
} 

$font-medium: font(20px); 

Btw, हालांकि यह समाधान नहीं करता है क्या इस प्रयोक्ता वास्तव में की तलाश में है, यह केवल बात यह है कि एक mixin करने के लिए एक वर करने के बारे में एक इंटरनेट सर्च पर पॉप अप होने के बारे में है तो मैं यह स्थिति दूसरों के लिए यह जानना चाहती थी कि अगर यह स्थिति बढ़ जाती है तो क्या करना है।

+0

की सराहना करता हूं जो ओपी के उपयोग के मामले में मदद नहीं करेगा क्योंकि उन्हें एकल रिटर्न मूल्य की उम्मीद नहीं है। – cimmanon

+0

आप हार्ड-कोड किए गए मानों के साथ 'फ़ंक्शन' क्यों बनायेंगे? किंडा ने बिंदु को हराया? –

संबंधित मुद्दे