सीएसएस हैक

सीएसएस हैक एक कंप्यूटर प्रोग्रामिंग तकनीक है जिसका उपयोग वेब ब्राउज़र संस्करण संख्या या क्षमताओं के आधार पर सीएसएस मार्कअप को छिपाने या दिखाने के लिए किया जाता है। ब्राउज़रों के पास सीएसएस व्यवहार के अलग-अलग व्याख्यान और W3C मानकों के समर्थन के लिए अलग-अलग स्तर होते हैं। सीएसएस हैक कई बार उपयोग किए जाते हैं जिससे अनुकूलित प्रदर्शन न करने वाले कई ब्राउज़रों में सहजता से अभिविन्यास दिखाई दे। इन हैक्स का अधिकांश काम आधुनिक ब्राउज़रों के संस्करणों में काम नहीं करता है, जैसे की विशेषता समर्थन परिक्षण जैसी अन्य तकनीकें अधिक प्रचलित हो गई हैं।

अमान्य या गैर-अनुपालन सीएसएस
विभिन्न ब्राउज़र्स द्वारा सीएसएस के व्याख्यान में विचित्रताओं के कारण, अधिकांश सीएसएस हैक्स ऐसी अमान्य सीएसएस नियमों को लिखने के आधार पर काम करते हैं जो केवल विशेष ब्राउज़र्स द्वारा व्याख्यान किए जाते हैं, या विशेष ब्राउज़र्स में बग्स पर आश्रित होते हैं। इसका एक उदाहरण है नियमों को अंडरस्कोर के साथ प्रथम करना (जैसे _विस्तार) जिससे इंटरनेट अंवेषक 6 को लक्षित किया जा सके - अन्य ब्राउज़र्स इस लाइन को ध्यान नहीं देंगे, जिससे एक ब्राउज़र के लिए विशेष कोड लिखने के लिए उपयोग किया जा सके।।

प्रायः ऐसे ही सीएसएस हैक उपयोग करते हैं जो एस्टेरिस्क, अनुपस्थित व्हाइटस्पेस, और सीएसएस टिप्पणियों की तरह वाक्य - विन्यास त्रुटि उत्पन्न करते हैं। इसके अतिरिक्त, इंटरनेट अंवेषक 6 और 7 में, ! महत्वपूर्ण घोषणा को वाक्यांश के उत्क्रमांक के बाद किसी भी शृंखला के रूप में मान्यता प्राप्त होती है, जैसे.

असमर्थित सीएसएस
यद्यपि, नवीनतम सीएसएस नियमानुसार बने नियम पुराने ब्राउज़र्स द्वारा "अमान्य" के रूप में अनदेखा किए जाते हैं। पुराने नियमों के उपरांत नवीनतम नियमों को लिखकर उन पुराने नियमों को रद्द करने या संशोधित करने के माध्यम से, पुराने ब्राउज़र्स पर केवल निश्चित नियमों को सक्रिय करना संभव है।

सशर्त टिप्पणियां
इंटरनेट अंवेषक के 10 संस्करण से पहले, एक विशेष टिप्पणी धारा को इंटरनेट अंवेषक द्वारा समर्थित किया जाता था जो केवल निश्चित संस्करणों के ब्राउज़र द्वारा ही पठित की जा सकती थी। इन टिप्पणियों का अधिकांश उपयोग पुराने ब्राउज़र के लिए विशेष सीएसएस और जावास्क्रिप्ट समाधान प्रदान करने के लिए किया जाता था। कोई अन्य ब्राउज़र इन टिप्पणियों का व्याख्यान नहीं करता था और ऐसी ही समान विशेषता नहीं प्रदान करता था।

इन टिप्पणियों के लिए अलग-अलग वाक्यविन्यास के उदाहरण निम्नलिखित हैं। परीक्षण <लिंक href= all_browsers.सीएसएस        rel= स्टाइलशीट टाइप= टेक्स्ट/सीएसएस > <![अनदेखा करें[> <लिंक href= हालिया.सीएसएस rel= स्टाइलशीट प्रकार= पाठ/सीएसएस> <लिंक href= not_ie.सीएसएस        rel= स्टाइलशीट टाइप= टेक्स्ट/सीएसएस >

आलोचक
हैक्स का उपयोग करके कोड को छिपाने से प्रायः यह समस्या उत्पन्न होती है कि जब ब्राउज़र अपडेट होते हैं, तो पृष्ठों को गलत ढंग से प्रदर्शित किया जाता है। ये हैक्स नवीनतम ब्राउज़र में अपने पूर्वजों से अलग रूप से इन्टरप्रिट कर सकते हैं, जिससे अनपेक्षित व्यवहार हो सकता है। इंटरनेट अन्वेषक 6 और 7 का उपयोग धीरे-धीरे बंद हो चुका है, इसलिए सीएसएस हैक्स की भी कमी हो गई है। विशेषता लक्ष्यित करने के आधुनिक विधियाँ कम भंगुर और त्रुटि-प्रवृत्ति होते हैं।

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

सबसे लोकप्रिय ब्राउज़र प्रतिपादन इंजनों में प्रत्येक का अपना प्रयोगशील गुणों के लिए विक्रेता उपसर्ग होता है। यद्यपि, जीवंत कोड में इन गुणों की प्रसार के कारण, ब्राउज़र उपसर्ग इस प्रथा से दूर होने की ओर बढ़ रहे हैं और फ़ीचर फ़्लैग को प्राथमिकता दे रहे हैं।

उपसर्गों की सूची
निम्नलिखित विभिन्न लेआउट इंजनों से उपसर्गों की एक सूची है:

प्रतिबंध
विक्रेता उपसर्ग को उन विशेषताओं के लिए डिज़ाइन किया गया था जो विकास के अधीन थे, जिसका अर्थ है कि यह वाक्यविन्यास अंतिम नहीं हो सकता है। इसके अतिरिक्त,प्रत्येक ब्राउज़र के प्रयोगशीलता के लिए नियम जोड़ना जब आप बहुत सारे ब्राउज़र्स का समर्थन करना चाहते हैं, इस परिणामस्वरूप, प्रमुख ब्राउज़र विक्रेताओं विक्रेता उपसर्ग की अतिरिक्त  फ़ीचर क्वेरी जैसे अन्य विधियों का समर्थन करते हुए आगे बढ़ रहे हैं।

जावास्क्रिप्ट अभिलक्षण संसूचक
विशेषता के बारे में जानने के लिए कई जावास्क्रिप्ट पुस्तकालय उपस्थित हैं जिसका उपयोग किया जाता है जिससे सीएसएस नियम उन्हें लक्षित कर सकें। नवीनीकरण जैसी पुस्तकालय html तत्व में श्रेणियों को जोड़ती हैं, जिससे सीएसएस नियम जैसे. लिखे जा सकते हैं।.

अभिलक्षण परिप्रश्न
सीएसएस 3 में एक नई विशेषता जिसे अभिलक्षण क्वेरी के रूप में जाना जाता है, इंट्रोड्यूस हुई है, जो सीएसएस के भीतर विशेषता की पहचान करने की अनुमति देती है यह नया निर्देशिका एक विशेषता के समर्थन या असमर्थन की जांच के लिए उपयोग किया जा सकता है, और जांच को 'और', 'या', और 'नहीं' के साथ कम्बाइन किया जा सकता है।स्वाभाविक रूप से,  नियम केवल उन ब्राउज़र्स पर काम करेंगे जो  .का समर्थन करते हैं।

स्क्रिप्ट पॉलीफिल
जबकि जावास्क्रिप्ट विशेषता संसूचना और   नियम ऐसे ब्राउज़र को लक्षित करने में मदद कर सकते हैं जिन्हें फॉलबैक कार्यक्षमता की आवश्यकता होती है, वे केवल विशेष ब्राउज़रों में बगों को संबोधित करेंगे या उन्नत कार्यक्षमता को सक्षम नहीं करेंगे। पॉलीफ़िल, (प्रोग्रामिंग) जो सभी ब्राउज़रों में व्यवहार को संगत बनाने के लिए स्क्रिप्ट का उपयोग करते हैं, नए सीएसएस नियमों के समर्थन को जोड़ने के साथ-साथ विशेष ब्राउज़रों में बगों को ठीक करने के लिए उपयोग किए जा सकते हैं। चूंकि पॉलीफ़िल उन ब्राउज़रों में कार्यक्षमता जोड़ते या ठीक करते हैं जिनके पास यह नहीं है, वे अभिलक्षण क्वेरीज़ के सापेक्ष में एक अलग उद्देश्य की पूर्ति करते हैं, लेकिन उनके साथ संयोजन में उपयोग किया जा सकता है।
 * सशर्त टिप्पणियाँ

बाहरी संबंध

 * Browser Strangeness – Jeff Clayton's Live सीएसएस        hacks and tests to filter for mainstream browsers, including the only known सीएसएस         Hacks for Safari 7 and 8
 * browserhacks.com – Multiple browser filter methods and tests (Hugo Giraudel, Joshua Hibbert, Tim Pietrusky, Fabrice Weinberg, Jeff Clayton)
 * Safari/Webkit (webkit) prefix filters refix filters]
 * Mozilla (moz) prefix filters
 * Opera (wap) prefix filters – This page has all of Opera's सीएसएस        selectors.
 * सीएसएस        Filters – A fairly complete table of सीएसएस         hacks which show and hide rules from specific browsers.
 * Filters and Cross-Over – सीएसएस        filters. Parsing errors marked red.
 * – सीएसएस        Browser Selector – Allows to combine browser specific सीएसएस         in single stylesheet (using JavaScript).
 * – #IEroot – Targeting IE with a single stylesheet containing all सीएसएस        (without using JavaScript, but using conditional comments to assign browser-specific tag to arbitrary content root [div])
 * How to target only IE (any version) within a stylesheet? – discussion on StackOverflow
 * Apply style ONLY on IE – discussion on StackOverflow
 * सीएसएस        Comments - How to add comments in सीएसएस