2010-01-16 7 views
19

एरिक मेयर रीसेट सीएसएस मार्कअप में "टेबल अभी भी 'सेलस्पेसिंग =" 0 "' की आवश्यकता है" का सुझाव दे रहा है। क्या ये ज़रूरी हैं? और border-collapse: collapse का लाभ क्या है; और border-spacing: 0;?क्या <table> में सेलस्पेसिंग = "0" सेलपैडिंग = "0" जोड़ना आवश्यक है?

और यह केवल सेलस्पेसिंग का उपयोग करने का सुझाव दे रहा है, जबकि तालिका में सेलपैडिंग नामक एक और संपत्ति है?

/* tables still need 'cellspacing="0"' in the markup */ 
table { 
     border-collapse: collapse; 
     border-spacing: 0; 
} 

उत्तर

11

cellpadding सुझाव नहीं क्योंकि padding सीएसएस संपत्ति पर्याप्त cellpadding तालिका विशेषता के लिए डिफ़ॉल्ट गुण को ओवरराइड करता है। जैसा कि दूसरे उत्तर में कहा गया है, पुराने ब्राउज़र में cellspacing के लिए कोई संगत सीएसएस प्रॉपर्टी नहीं है, इस सेटिंग को पूरी तरह से "रीसेट" करने के लिए एकमात्र तरीका है। border-spacing: 0; इसका समर्थन करने वाले ब्राउज़र के लिए इसका ख्याल रखता है।

border-collapse — डिफ़ॉल्ट रूप से के रूप में, तालिका सेल प्रत्येक की अपनी सीमा है, और collapse सन्निकट कक्षों के बीच की सीमाओं को एक साथ मर्ज हो जाएगा, एक (आमतौर पर एकल-पिक्सेल) ग्रिड की उपस्थिति दे रही है जो किसी अन्य से नहीं पहुंचा जा जिस तरह से cellspacing="0"border-collapse से पहले सामान्य रूप से समर्थित था, यही कारण है कि आप cellspacing="1" और तालिका पर पृष्ठभूमि रंग, और तालिका कक्षों पर सफेद पृष्ठभूमि के साथ तालिकाओं को देखेंगे।

border-collapse:collapse; बस reset.css में है क्योंकि यह सबसे आम वांछित परिणाम है। यदि आप इस मोड को नहीं चाहते हैं, तो आप इसे रीसेट.css से ठीक से हटा देंगे।

6

इंटरनेट एक्सप्लोरर 6 और 7, और शायद अन्य जल्दी ब्राउज़रों, border-spacing विशेषता को पहचान नहीं है और इस तरह के रूप में, वह पता चलता है तो आप अभी भी रूप में अच्छी तरह HTML में मानों की आपूर्ति।

Check out the compatibility table on SitePoint

1

किसी तालिका में सीमाओं के दो प्रकार के होते हैं, टेबल ही (कोशिकाओं के बीच बाहरी बॉर्डर और सीमाओं) सीमाओं हो सकता है, और प्रत्येक कोशिका उनके आसपास सीमाओं हो सकता है।

border-collapse: collapse; का उपयोग करना मतलब है कि एक दूसरे के बगल में एक ही सीमा सेटिंग वाले दो कक्ष केवल डबल की बजाय सीमा के एक सेट को प्राप्त करेंगे, उदाहरण के लिए एक सेल की दायां सीमा पंक्ति में अगले सेल पर बाएं सीमा के साथ पतन हो जाएगी।

सीएसएस 2 तक कोशिकाओं के बीच तालिका सीमा के लिए कोई सीएसएस शैली नहीं है, इसलिए इसे आईई 7 * जैसे पुराने ब्राउज़र का समर्थन करने के लिए तालिका पर HTML विशेषता cellspacing="0" का उपयोग करके अक्षम किया जाना है। यदि कोशिकाओं के बीच टेबल सीमाएं हैं, तो सीमा गिरने से स्वाभाविक रूप से काम नहीं होगा क्योंकि सीमाएं एक दूसरे के बगल में नहीं हैं।

* मैं वास्तव में IE 7 एक "पुराने ब्राउज़र" बुलाने की महसूस कर मज़ा आया;)

+0

और सेलपैडिंग के बारे में क्या? –

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