2012-05-25 6 views
5

क्या एक सीएसएस चयनकर्ता की स्टाइल को किसी अन्य सीएसएस चयनकर्ता में आयात करने का कोई तरीका है और इसमें जोड़ें या इससे गुणों को फिर से लिखना है।एक और चयनकर्ता में सीएसएस चयनकर्ता शैलियों आयात करें? (नहीं @import)

मान लीजिए:

.original_class{ 
background:black; 
color:white; 
} 
.overwrite{ 
@import(.original_class); /* I know this doesn't work */ 
color:blue; 
border:1px solid green; 
} 

मैं सिर्फ .original_class redeclaring और नए मान निर्दिष्ट (के बाद से सीएसएस शैलियों ऊपर से नीचे तक फिर से लिखा जाता है) ऐसा कर सकते हैं, लेकिन यह मूल सीएसएस की विशेषताओं का स्थान ले लेगा कक्षा। मैं चाहता हूं कि वह अपनी संपत्तियों को किसी अन्य वर्ग में फिर से लिखने के बिना प्राप्त करे (डुप्लिकेट)।

उत्तर

3

सीधे नहीं, नहीं।

आप अपने HTML में कुछ इस तरह कर सकता है:

<div class="original_class overwrite">...</div> 

यह वैसा ही प्रभाव पड़ेगा, लेकिन आप हर तत्व आप चाहते हैं कि जिस तरह से स्टाइल के लिए ऐसा करना होगा।

वहाँ भी एक सीएसएस पूर्व प्रोसेसर का उपयोग करने का विकल्प, SASS की तरह है, जो विरासत/mixins समर्थन करता है।

0

दुर्भाग्य से नहीं। कम से कम उन फैंसी सीएसएस प्लगइन चीज़ों में से एक के बिना नहीं, जो मैं एक मील लंबी ध्रुव के साथ नहीं छूंगा ...

बेशक, एक तत्व पर एकाधिक कक्षाएं रखने से आपको कुछ भी रोक नहीं है।

+0

दिमाग "स्पर्श नहीं करेगा ..." भाग पर विस्तार से मन? –

+0

मैं सामान्य रूप से ढांचे को स्वीकार नहीं करता हूं। मैं अपने सभी एचटीएमएल, सीएसएस, जावास्क्रिप्ट और PHP को हाथ से लिखता हूं, और जब कुछ गलत हो जाता है तो मैं इसे ठीक करने के लिए बेहद अच्छी तरह से सशस्त्र हूं। –

+1

ठीक है मेरे पास सीएसएस प्री-प्रोसेसर (या "प्लगइन चीज़ों" के साथ अच्छे अनुभव हैं लेकिन आप उन्हें कॉल करते हैं)। मुझे विकास के बहुत सारे समय बचाए, और मेरे सीएसएस को बनाए रखने के लिए इतना आसान बना दिया कि यह मजेदार भी नहीं है। लेकिन प्रत्येक उसके अपने के लिए ... –

0

यदि आप थोड़ा सा चक्कर लगाने के इच्छुक हैं तो शायद this आपके लिए कुछ है।

2

आप अल्पविराम (grouping selectors) के साथ मौजूदा चयनकर्ता से अलग से पहला नियम को .overwrite चयनकर्ता जोड़ सकते हैं ताकि चयनकर्ता नियम .original_class, .overwrite हो जाता है:

.original_class, 
.overwrite { 
background: black; 
color: white; 
} 
.overwrite { 
color: blue; 
border: 1px solid green; 
} 

इसके अलावा, जब आप लिखते हैं:

इस मूल CSS वर्ग की विशेषताओं का स्थान ले लेगा

सीएसएस में विशेषताओं और वर्ग जैसी कोई चीज नहीं है, न कि ओओपी के अनुमानित अर्थ के साथ। नियम हैं, चयनकर्ता नियम (एचटीएमएल आईडी, कक्षाएं, तत्व, गुण और अन्य छद्म चयन करने के लिए), घोषणाएं, गुण और मूल्य।

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