2012-11-11 14 views
26

में क्लास नाम को उपनाम कैसे करें? क्या मैं एक सीएसएस कक्षा में उपनाम बना सकता हूं?सीएसएस या एसएएस

मैं इस फ़ॉन्ट का उपयोग कर रहा हूं और मैं कुछ आइकन वर्गों के लिए उपनाम नाम बनाने की कोशिश कर रहा हूं। तो .icon-world भी .globe कहा जाएगा।

मैं ऐसी चीज कैसे पूरा कर सकता हूं?

+4

सही जवाब को स्वीकार करने के लिए याद रखें! – OneChillDude

उत्तर

0

न तो SASS और न ही CSS3/4 समर्थन उपनाम। यदि आप font awesome का उपयोग करना चाहते हैं तो आपको सटीक कक्षा का नाम उपयोग करना होगा।

3

आप सादे सीएसएस अल्पविराम से अलग चयनकर्ताओं का उपयोग कर कई वर्गों के लिए एक ही शैली लागू कर सकते हैं:

.icon-globe, .globe { 
    //styles 
} 

<i class="icon-globe"> और <i class="globe"> के लिए एक ही शैली लागू होगा।

+1

धन्यवाद। अगर मैं इस ब्लॉक में शैलियों को परिभाषित करता हूं तो केवल तभी काम करेगा? बात यह है कि, फ़ॉन्ट-भयानक फ़ाइल को संशोधित नहीं करना चाहते हैं। – bymannan

+0

हां, कुछ मामलों में, मुझे कक्षा में 'पहुंच' नहीं हो सकती है या नहीं, जहां यह परिभाषित किया गया है कि यह कहां परिभाषित किया गया है। – Scalable

13

जावास्क्रिप्ट/jquery का उपयोग करने का सबसे आसान तरीका मैं सोच सकता हूं।

jQuery:

$(document).ready(function() { 
    $('.globe').addClass('icon-globe'); 
}); 
+2

जिस व्यक्ति ने मेरा उत्तर कम किया है, कृपया अगर आप महसूस करते हैं कि कोड अपर्याप्त है, या मेरा जवाब संपादित करें और मुझे आपके अनुरोध की समीक्षा करने में खुशी होगी :) – OneChillDude

+3

पुराना प्रश्न ... हालांकि, लेकिन यह स्पष्ट है कि कॉलर यह नहीं पूछ रहा है। वे क्या जानना चाहते हैं कि वे .icon-world का उपयोग करने के बजाय ,globe का उपयोग कैसे शुरू कर सकते हैं। – Scalable

+2

यह एसएएसएस के बारे में एक प्रश्न है और आप एक जावास्क्रिप्ट/jQuery उत्तर का सुझाव दे रहे हैं ... –

17

अलियासिंग जैसी कोई चीज नहीं है। Sass के पास @extend निर्देश है, लेकिन जब तक आप स्रोत को नहीं देखते हैं तब तक समाधान पूरी तरह से स्पष्ट नहीं होता है।

स्रोत: https://github.com/FortAwesome/Font-Awesome/blob/master/sass/font-awesome.scss

[class^="icon-"]:before, 
[class*=" icon-"]:before { 
    font-family: FontAwesome; 
    font-weight: normal; 
    font-style: normal; 
    display: inline-block; 
    text-decoration: inherit; 
} 

// snip 

.icon-globe:before    { content: "\f0ac"; } 

भले ही आप .globe विस्तार .icon-globe बनाया है, तुम क्या क्योंकि वे कैसे चयनकर्ता बनाया का FontAwesome शैलियों में आता है के सबसे पर याद किया जाएगा। आपको अन्य चयनकर्ता को भी विस्तारित करना होगा।

.globe { 
    @extend .icon-globe; 
    @extend [class^="icon-"]; 
} 

उत्पन्न करता है:

[class^="icon-"]:before, .globe:before, 
[class*=" icon-"]:before { 
    font-family: FontAwesome; 
    font-weight: normal; 
    font-style: normal; 
    display: inline-block; 
    text-decoration: inherit; } 

.icon-globe:before, .globe:before { 
    content: "\f0ac"; } 

ध्यान दें कि icon- उपसर्ग जानबूझकर किया गया था। FontAwesome के साथ आने वाले सभी 200 वर्गों में उन सभी शैलियों को जोड़ने के बजाय, आपको इस तरह की छोटी सी सीएसएस फ़ाइलें मिलती हैं। आप कर सकते हैं, लेकिन मुझे नहीं लगता कि परिणाम बहुत अच्छा है।

+1

अरे, यह शानदार है। – markus

7

मैं इस मैं जानता हूँ बनाने की अनुमति देता CSS Crush में रुचि हो सकती एक पुराना सवाल है लेकिन मैं इसका जवाब दे रहा हूं क्योंकि थ्रेड अपूर्ण दिखता है ...

आप आसानी से icon-globe वर्ग

.globe{ 
    @extend .icon-globe !optional; 
} 

उत्पादन सीएसएस विस्तार के रूप में किया जाएगा द्वारा SASS साथ ऐसा कर सकते,

.globe,.icon-globe{ 
    /* CSS Properties */ 
} 

का नया वर्ग के नाम को ध्यान में रखते फ़ॉन्ट-बहुत बढ़िया, आप .fa-globe का उपयोग करने के लिए

एकाधिक वर्ग के साथ .fa-globe का उपयोग करने की आवश्यकता होगी

उत्पादन सीएसएस हो जाएगा के रूप में,

.fa,.globe{ 
/* ... */ 
} 

.globe,.fa-globe{ 
    /* CSS Properties */ 
} 
संबंधित मुद्दे