2013-04-18 9 views
10

इस उदाहरण पर एक नज़र डालें:एस.ए.एस.एस./एससीएसएस आपत्ति कुंजी मान पाश

@include font-face('Entypo', font-files('entypo.woff')); 

.icon { 
    display: inline; 
    font: 400 40px/40px Entypo; 
} 

.icon-star { 
    @extend .icon; 

    &:after { 
    content: "\2605"; 
    } 
} 

.icon-lightning { 
    @extend .icon; 

    &:after { 
    content: "\26A1"; 
    } 
} 

मैं चीजों को संभव के रूप में सूखी तो मैं अगर निम्न संभव है जानना चाहता हूँ बनाना चाहते हैं, और यदि ऐसा है तो कैसे?

@include font-face('Entypo', font-files('entypo.woff')); 

.icon { 
    display: inline; 
    font: 400 40px/40px Entypo; 
} 

$icons { 
    $star: "\2605"; 
    $lightning: "\26A1"; 
} 

@each $icon in $icons { 
    $key = $icon{key}; // ??? 
    $value = $icon{value}; // ??? 

    .icon-#{$key} { 
    @extend .icon; 

    &:after { 
     content: $value; 
    } 
    } 
} 

उत्तर

23

सास वर्तमान में मैपिंग का समर्थन नहीं करता। आपको अब सूचियों की सूचियों के साथ रहना होगा।

$icons: star "\2605", lightning "\26A1"; 

@each $icon in $icons { 
    $key: nth($icon, 1); 
    $value: nth($icon, 2); 

    .icon-#{$key} { 
    @extend .icon; 

    &:after { 
     content: $value; 
    } 
    } 
} 
+0

मैं एस.ए.एस.एस. के प्रलेखन नफरत है, यही कारण है कि मैं इस तरह एक साधारण पाश नहीं मिल सकता है, वैसे भी, बहुत प्रशंसा धन्यवाद। – onlineracoon

+1

यदि आप http://learnboost.github.io/stylus/ –

+0

पर कुछ और प्रोग्रामिक रूप चाहते हैं तो बिल्कुल सही उदाहरण – lorless

53

सास 3.3 (2014/03/07 को जारी) अब आप नक्शे उपयोग करने के लिए अनुमति देता है:

@include font-face('Entypo', font-files('entypo.woff')); 

.icon { 
    display: inline; 
    font: 400 40px/40px Entypo; 
} 

$icons: (
    star: "\2605", 
    lightning: "\26A1" 
); 

@each $key, $value in $icons { 
    .icon-#{$key} { 
    @extend .icon; 

    &:after { 
     content: $value; 
    } 
    } 
} 
+0

के माध्यम से आने वाले सभी अन्य समाधानों के बाद सबसे अच्छा जवाब यह अब के लिए स्वीकार्य उत्तर होना चाहिए। स्वीकार्य एक पुराना है क्योंकि स्वीकार्य उत्तर को अद्यतन या समीक्षा करने का हमारा कोई अच्छा तरीका है? – nXqd

+0

आप इसे हाइलाइट करने के लिए उत्तर अपडेट कर सकते हैं, और यदि भी वह चाहते हैं तो ऑप अभी भी स्वीकार किए गए उत्तर को बदल सकता है। – zessx

+0

यह सबसे अच्छा जवाब होना चाहिए! – Tony

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