2009-05-26 16 views
5

में एम्बेड किए गए पृष्ठ की शैली को प्रभावित करता है, मैं वर्तमान में एक विजेट विकसित कर रहा हूं जिसे किसी पृष्ठ के भीतर एम्बेड किया जा सकता है। हालांकि, जब एम्बेडेड होता है, तो यह उस पृष्ठ के स्टाइल (फ़ॉन्ट, टेक्स्ट, लेआउट इत्यादि) को प्रभावित करता है।जावास्क्रिप्ट विजेट

मुझे आश्चर्य है कि क्लीयरप्रिंग और अन्य विजेट फ्रेमवर्क उनके विजेट को कैसे समाहित करते हैं ताकि एम्बेडिंग पेज को प्रभावित न किया जा सके ।

धन्यवाद।

उत्तर

5

अपना विजेट बनाएं, एक अद्वितीय आईडी के साथ एक div के तहत कहें (या यदि एकाधिक हो तो कक्षा) जो मेजबान पृष्ठ पर दूसरों के साथ संघर्ष करने की संभावना है। एक अच्छा उदाहरण #company-widjet-name हो सकता है। देखें कि jQuery यूआई कैसे करता है (.ui-widget input)।

फिर आपको अपने डिज़ाइन को भरने से पैरेंट पेज के सीएसएस से बचने के लिए स्थानीय प्रकार के रीसेट करने की आवश्यकता हो सकती है। सूट के लिए Eric Meyer's reset जैसे कुछ को संशोधित करें। #uniqueId * { padding: 0, margin: 0 } से बचें क्योंकि इससे सिरदर्द हो सकता है।

जब तक आप

#uniqueId a { 
    property: value; 
} 

विशिष्टता काफी मजबूत यह अनजाने में बदलाव करने से मेजबान पेज के सीएसएस दे बिना सही ढंग से तत्व शैली होना चाहिए है।

+0

+1। यह इस तथ्य पर विचार करते हुए 'विशिष्टता' –

+0

के बारे में है कि ज्यादातर समय आप कभी भी नहीं जानते कि कोई घटक/विजेट/ब्लॉक (जिसे आप इसे कहते हैं) किसी वेबसाइट पर एक या अधिक बार उपयोग किया जा रहा है, मैं सबसे खराब स्थिति परिदृश्य दृष्टिकोण पर विचार करता हूं: इसलिए केवल कक्षा का नाम उपयोग करें। –

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