2012-10-30 12 views
9

क्या वैध सीएसएस होना जरूरी है? मैं तेजी से वेब विकास के लिए ट्विटर बूटस्ट्रैप का उपयोग कर रहा हूं और डब्ल्यू 3 सी सीएसएस वैलिडेटर के माध्यम से दो मुख्य बूटस्ट्रैप स्टाइल शीट चलाने के बाद, मैंने 600 त्रुटियों को देखा।क्या वैध सीएसएस होना जरूरी है?

मेरा सवाल है, मेरी साइट अच्छी लगती है तो सीएसएस के लिए वैध होना क्यों महत्वपूर्ण है?

+1

कुछ सत्यापन त्रुटियां क्या हैं? – scunliffe

+1

यदि सत्यापन त्रुटियां विक्रेता-विशिष्ट उपसर्गों के बारे में हैं, तो उन्हें अनदेखा करें। अन्यथा, बूटस्ट्रैप के साथ यह एक समस्या है। @scunliffe की तरह पूछा - आपको कुछ त्रुटियां क्या हैं? – Ryan

+1

यदि आप W3C CSS सत्यापन उपकरण के माध्यम से बूटस्ट्रैप का उपयोग करने वाली कोई भी साइट चलाते हैं, तो आपको उन त्रुटि संदेशों को दिखाई देगा जिन्हें फेंक दिया जा रहा है। अभी यहां सूचीबद्ध करने के लिए बहुत सारे लोग – henrywright

उत्तर

7

हां, वैध सीएसएस होना बिल्कुल जरूरी है। सीएसएस एक प्रोग्रामिंग भाषा है और इस तरह, आपको इसके भाषा नियमों का पालन करना होगा। सिर्फ इसलिए कि ब्राउज़र अमान्य HTML स्वीकार करते हैं और इसे प्रस्तुत करने का प्रयास करते हैं, यह बीमार प्रारूपित HTML को एक अच्छा अभ्यास नहीं बनाता है। सीएसएस के लिए भी यही सच है, हालांकि - सौभाग्य से - सीएसएस नियम HTML नियमों की तुलना में काफी कठोर हैं।

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

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

+0

"अधिमानतः" "बिल्कुल" नहीं हो सकते हैं। क्योंकि वास्तविकता यह है कि हमें अपने उपयोगकर्ताओं का उपयोग करने वाले ब्राउज़र का समर्थन करना होगा। – Grimmo

+0

@Grimmo मैं ज्यादातर आपकी टिप्पणी के साथ सहमत हूं। कारण मैंने पूरी तरह से उपयोग किया क्योंकि कई पाठक अनुमोदित तरीके से "अधिमानतः" व्याख्या कर सकते हैं - यानी, वे मान सकते हैं कि 'खराब' सीएसएस होना ठीक है और इसे सॉर्ट करने के लिए ब्राउज़र पर भरोसा करना ठीक है। – xxbbcc

0

अब कई दिनों के संस्करणों के साथ विभिन्न प्रकार के ब्राउज़र हैं। कुछ बहुत समर्थन करते हैं लेकिन कुछ नहीं हैं। इसलिए जब आप शैलियों को शामिल करते हैं तो 100% सही फिट होना हमेशा संभव नहीं होता है। अगर आपकी शैली बिना किसी समस्या के काम करती है ठीक है.लेकिन जब आप अलग-अलग ब्राउज़रों पर जाते हैं तो आपको समस्या से संबंधित सीएसएस मिलता है, तो आपको अन्यथा कोई समस्या नहीं लेनी पड़ती है।

3

सीएसएस को काम के लिए मान्य नहीं होना चाहिए। ब्राउज़र बस उन सीएसएस को अनदेखा करते हैं जिन्हें वे समझ में नहीं आते हैं।

सीएसएस को मान्य करना यह जांचने का एक तरीका है कि यह विनिर्देशन का पालन करता है या नहीं। यदि ऐसा होता है, तो उपयोग किए गए विनिर्देश के साथ अद्यतित कोई भी ब्राउज़र सीएसएस को समझ जाएगा।

0

हां यह महत्वपूर्ण है, जब अधिकांश HTML पृष्ठ लोड करते हैं तो अधिकांश ब्राउज़र w3c मानक का पालन करते हैं। यदि आपके पृष्ठ में वैध सीएसएस नहीं है, तो अलग-अलग ब्राउज़र में यह विभिन्न तरीकों से दिखाई दे सकता है। पुराने इंटरनेट एक्सप्लोरर ने डब्ल्यू 3 सी मानकों का पालन नहीं किया जो कि डेवलपर्स के लिए बहुत अधिक खर्च करते हैं जिसके परिणामस्वरूप डेवलपर को आईई के लिए पेज को सही तरीके से प्रदर्शित करने के लिए हमेशा अतिरिक्त सीएसएस की आवश्यकता होती है।

3

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

वेबसाइटों को सभी ब्राउज़र में और सभी प्लेटफार्मों में अच्छे दिखने के लिए लोगों को उन मानदंडों के बाहर फैलाने की आवश्यकता होती है जो अन्यथा "मान्य" होंगी। ऐसी साइट के खिलाफ बहस करना मुश्किल है जो सही क्रॉस ब्राउज़र और प्लेटफ़ॉर्म का काम करता है भले ही सीएसएस 100% निर्दोष न हो। यह मेरा दो सेंट है।

3

आपका सीएसएस (तुम कौन पूछने पर निर्भर करता है) के वैध होने की जरूरत नहीं है, लेकिन अगर यह अवैध है, तो आप अमान्यता के लिए एक कारण होना चाहिए:

audio, 
canvas, 
video { 
    display: inline-block; 
    *display: inline; 
    *zoom: 1; 
} 

सत्यापनकर्ता एक पार्स त्रुटि यहाँ है संपत्ति की शुरुआत में तारांकन की वजह से।इंटरनेट एक्सप्लोरर को लक्षित करने के लिए यह एक अस्पष्ट लेकिन मान्यता प्राप्त हैक है। अन्य ब्राउज़र उन गुणों को अनदेखा कर देंगे जिन्हें यह पहचाना नहीं जाएगा लेकिन आईई 6/7 तारों के साथ गुणों को पढ़ेगा।


input:-moz-placeholder, 
textarea:-moz-placeholder { 
    color: #999999; 
} 

input:-ms-input-placeholder, 
textarea:-ms-input-placeholder { 
    color: #999999; 
} 

input::-webkit-input-placeholder, 
textarea::-webkit-input-placeholder { 
    color: #999999; 
} 

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

input::-moz-placeholder, 
input::-ms-input-placeholder, 
input::-webkit-input-placeholder, { 
    color: #999999; 
} 

में नजरअंदाज कर दिया जाएगा सब ब्राउज़रों जब तक कि वे तीनों विक्रेता उपसर्गों को मान्यता दी।


filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); 

यह ढ़ाल के लिए पुरानी शैली आईई विस्तार है। यह तरंगों और तरंगों में कई त्रुटियों का कारण बनता है भले ही आईई इसका अनुसरण करता है और अन्य ब्राउज़र चुपचाप इसे अनदेखा नहीं करेंगे।


width: auto\9; 

\ 9 एक और आईई हैक कि IE को लक्षित करता है < = 8


लब्बोलुआब यह है कि अगर आप कुछ अमानक कर रहे हैं, सुनिश्चित करें कि आप जानते हैं क्यों बनाना है आप इसे कर रहे हैं।

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