2009-04-30 13 views
5

क्या प्रत्येक उपयोगकर्ता-एजेंट के लिए एक अलग सीएसएस फ़ाइल होना बेहतर है या क्या सीएसएस हैक का उपयोग करना बेहतर है कि केवल कुछ ब्राउज़र ही देख सकते हैं?सीएसएस ब्राउज़र संगतता से निपटने का सही तरीका क्या है?

उत्तर

7

न तो।

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

कुंजी उन चीज़ों से बचने के लिए है जो कुछ ब्राउज़रों (अक्सर इंटरनेट एक्सप्लोरर) में समस्याएं होती हैं। ऐसी एक बात मार्जिन की बजाय पैडिंग का उपयोग करना है, क्योंकि आईई मार्जिन को सही तरीके से ढहने में संभाल नहीं पाती है।

हैक होने की सीमा रेखा में कुछ विधियां कोड का उपयोग कर रही हैं जो सही ढंग से काम करने वाले ब्राउज़र को प्रभावित नहीं करती है, लेकिन किसी विशिष्ट ब्राउज़र के लिए समस्याएं हल करती है। यह ऐसी तत्वों के लिए ऊंचाई निर्दिष्ट करने जैसी चीजें हो सकती है, जिन्हें आम तौर पर एक की आवश्यकता नहीं होनी चाहिए, या display:inline को फ़्लोटिंग तत्व पर निर्दिष्ट करना चाहिए।

पृष्ठ Position is everything में कुछ बग और सुझाए गए फ़िक्स के उदाहरण हैं।

+0

आपके द्वारा उल्लिखित अधिकांश समस्याएं डॉक्टरेट को स्थापित करने के लिए उबलती हैं। यदि आप ऐसा नहीं करते हैं तो हाँ, आपके पास ब्राउज़र के बीच कट्टरपंथी अंतर होंगे।एक सीएसएस रीसेट के साथ डॉक्टरेट सामान्य उपयोग के तहत बस सबकुछ हल करता है। – NotMe

+0

नहीं, जो मैंने रेखांकित किया है तब भी लागू होता है जब आपके पास उचित कार्यप्रणाली और वैध कोड होता है। इसके बिना आप बहुत खराब हैं। – Guffa

0

न तो यदि संभव हो तो (अक्सर ठीक हैक किसी तरह का है, तो आप निश्चित रूप से भी आप इस समस्या से बच सकते हैं, तो विचार करना चाहिए।)। अब पुराना नेटस्केप, आईई < = 6 इत्यादि वास्तव में उपयोग में बहुत अधिक नहीं हैं, मैं उन सभी सुविधाओं का उपयोग करने की कोशिश करता हूं जो उन सभी ब्राउज़रों (जैसे एफएफ> = 2, आईई> = 7, क्रोम, ओपेरा) में काम करते हैं।

+0

आईई 6 अभी भी व्यापक रूप से उपयोग किया जाता है, यह स्रोत के आधार पर बाजार हिस्सेदारी के 15 से 20% के बीच कुछ है। – marcgg

3

न तो ऐसा करना बेहतर है।

एक अच्छा सीएसएस-रीसेट और सीएसएस जो एक ही क्रॉस-ब्राउज़र काम करता है, एक बेहतर समाधान है।

यदि आपका डिज़ाइन बिल्कुल उसको रोकता है, तो (और केवल तब) मैं हैक्स या आईई सशर्त टिप्पणियों का प्रयास करूंगा।

मैंने अभी तक mutliple css फ़ाइलों की आवश्यकता नहीं देखी है (एक सशर्त टिप्पणी के माध्यम से संबोधित कुछ आईई 6 सुधारों से परे)। इंटरनेट एक्सप्लोरर के साथ मुद्दों के लिए

0

Conditional comments मानक प्रतीत होता है। Dean Edward's ie7.js जैसे जावास्क्रिप्ट के साथ थोड़ा सा संयोजन, आप अपनी सीएसएस फ़ाइलों के भीतर हैक का उपयोग किए बिना अधिकांश क्रॉस ब्राउज़र मुद्दों को कम कर सकते हैं।

0

इसके बेहतर इंटरनेट एक्सप्लोरर 6-7 के लिए एक अलग सीएसएस फ़ाइलों का उपयोग करने के लिए, और अन्य ब्राउज़र के लिए एक हैक्स (conditional comments के माध्यम से उन्हें शामिल हैं)।

0

एक प्रकार का अनुवर्ती तरीका है कि काम करने वाली एकल फ़ाइल को कैसे विकसित किया जाए।

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

जब आप इसे एक ब्राउज़र के साथ पूरी तरह से काम करते हैं और फिर "इसे बदलने का समय" कहते हैं तो दर्द वास्तव में शुरू होता है और जहां आपको हैकिंग शुरू करना है।

0

My approach ओएस, ब्राउज़र और ब्राउज़र संस्करण का पता लगाने के लिए एक PHP वर्ग का उपयोग कर। आप किसी भी ऑपरेटिंग सिस्टम पर लगभग किसी भी ब्राउज़र के किसी भी संस्करण को लक्षित कर सकते हैं।

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