डीआईवी बनाम टेबल एक खंडन कृपया

वहाँ बहुत सारे लोग पूछ रहे हैं, "हम अपने एचटीएमएल की संरचना के लिए टेबल का उपयोग क्यों नहीं करना चाहिए" और बहुत सारे जवाब आते हैं, लेकिन शायद ही कभी मुझे किसी को भी अर्थशास्त्र की दुनिया में परिवर्तित किया जा रहा है। उस ने कहा, मुझे तर्कों का समर्थन करने के लिए अभी तक किसी भी दृढ़ रिबूटल्स को देखना नहीं है कि हमें टेबल का उपयोग क्यों करना चाहिए (या हो सकता है)।

जब कोई टेबल वैध संरचनात्मक मार्कअप होता है तो कोई भी तर्क देने की देखभाल करता है?


7 नवंबर, 2008

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

"डीआईवी बनाम टेबल" प्रश्न के बाद कई बार "टेबल आसान हैं" तर्क पढ़ने के बाद निराशा के माध्यम से मैं प्रश्न को थोड़ा और खुलासा करना चाहता था और टेबल प्रेमियों को आसानी से हुक छोड़ने देना नहीं था।

प्रत्येक के अपने स्वयं के अन्य लोग कह सकते हैं, लेकिन मुझे हमेशा कुछ साइटों को डालने के लिए कुछ आवेदन दिया जा रहा है जो कुछ 'टेबल आसान' डेवलपर द्वारा बनाए गए हैं जो मेरे पृष्ठों में क्रैपी एचटीएमएल का एक हिस्सा डंप करते हैं, और ईमानदार होने के लिए, मैं मैं सिर्फ टेबल प्रेमियों को तर्कों को सुनकर पर्याप्त नहीं देख रहा हूं।

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

मेरे प्रश्न ने ऋणात्मक तरीके से नकारात्मक तरीके के लिए पात्रता दी, जिसमें मैं प्रस्तुत किया गया था, लेकिन मैं अभी भी लोगों को यह स्वीकार करने का इंतजार कर रहा हूं कि वे टेबल का उपयोग करने का एकमात्र कारण यह है क्योंकि वे HTML नहीं जानते हैं। क्योंकि अगर उन्होंने किया, तो वे समझेंगे, जैसा कि jjrv कहता है, वह सारणी टैब्यूलर डेटा के लिए हैं।

0
कृपया उन प्रश्नों से पूछें जिन्हें उत्तर दिया जा सकता है, न केवल चर्चा की गई (पूछे जाने वाले प्रश्न पृष्ठ से)
जोड़ा लेखक Peter Hilton, स्रोत
मैंने इसे निम्न स्तर के प्रश्नों पर बहुत अधिक क्रूज देखा है: आपके प्रश्न ने महान प्रतिक्रियाएं प्रेरित की हैं (जिनमें से कुछ +13 तक पहुंच गईं), लेकिन -6 पर डिब्बाबंद हो गईं। कृपया इस गरीब सवाल को उठाओ!
जोड़ा लेखक Dan Rosenstark, स्रोत
मैं @AviewAnew से सहमत हूं - यह प्रश्न अजीब है, कल इस सटीक उसी विषय पर आपका उत्तर दिया गया।
जोड़ा लेखक delfuego, स्रोत

9 उत्तर

टेबल्स उन डेवलपर्स के लिए हैं जिन्हें सीएसएस के साथ घंटे के लिए परेशान नहीं किया जा सकता है ताकि सामग्री के बावजूद 100% ऊंचाई और चौड़ाई तक विस्तार करने के लिए दो निकटतम कोलमनेस्क divs प्राप्त हो सकें, और फिर हैक अतिरिक्त div wrappers जोड़ने के बिना सभी ब्राउज़रों में काम करने के लिए और फिर आखिरकार पूर्ण निराशा में वे 5 सेकंड फिक्स का सहारा लेते हैं:

<table width="100%">
<tr><td valign="top">Left nav</td><td valign="top">Main content</td></tr>
</table>

सख्त सत्य यह है कि अधिकांश उपयोगकर्ता (स्क्रीनreaders का उपयोग करने वालों को छोड़कर) वास्तव में परवाह नहीं करते कि पेज को कैसे चिह्नित किया जाता है, जब तक यह तेज़ी से लोड हो जाता है।

डेवलपर्स के पास बजट और समय की बाधाएं होती हैं और "अच्छा" सीएसएस और मार्कअप में समय लगता है।

तथ्य यह है कि वेब पर संसाधनों की एक बड़ी संख्या है जो महान श्रमिक विस्तार से समझाती है कि आप उस साधारण तालिका को बदलने के लिए दो divs को कैसे लाइन कर सकते हैं, यह स्पष्ट रूप से मेरे लिए है कि यह डिज़ाइन मूल रूप से तालिकाओं के रूप में त्रुटिपूर्ण है। किसी पृष्ठ पर दो कॉलम वाली तालिका जोड़ें को समझाने के लिए कितने ट्यूटोरियल की आवश्यकता है?

एचटीएमएल 5 हमें नए हेडर, पाद लेख, सेक्शन, एनएवी और एक तरफ टैग के साथ कुछ सारी सैनिटी लाएगा। उदाहरण नेटट्स + से लिया गया:

<div id="content">
    <div id="mainContent">
        
<!-- Blog post -->
 
        
<!-- Comments -->
 
        <form>
            <!-- Comment form -->
        </form>
    </div>
    
 
</div>

और फिर यह सीएसएस के लिए:

#content {
    display: table;
}

    #mainContent {
        display: table-cell;
        width: 620px;
        padding-right: 22px;
    }

    aside {
        display: table-cell;
        width: 300px;
    }

एक उत्सुक आंख वाले आप में से जो विडंबना की भावना से प्यार करेंगे, जब आप ध्यान दें कि सीएसएस में गुण हैं: display: table; और display: table-cell;

टेबल्स वापस बच्चे हैं! एचटीएमएल 5 के पीछे के दरवाजे के माध्यम से snuck; -)

0
जोड़ा
डिस्प्ले: टेबल और डिस्प्ले: टेबल-सेल एचटीएमएल 5 के साथ कुछ भी नहीं है, और काफी समय से आसपास रहा है (हालांकि अच्छी तरह से लागू नहीं किया गया है)।
जोड़ा लेखक Matt Sach, स्रोत

आपके पास डेटा की तालिका होने पर टेबल्स मान्य हैं। मैंने इंटरैक्टिव ग्रिड विजेट्स को देखा है जहां वे ड्रेस्ड टेबल टैग से बचने के लिए divs के समूह का उपयोग करने के लिए अपने रास्ते से बाहर निकलते हैं। जब यह सारणीबद्ध डेटा होता है, तो इसे एक टेबल बनाएं।

मेरा एक और विवादास्पद विचार यह है कि जब आपको सीएसएस में लंबवत लेआउट मुद्दों से निपटने में समस्याएं होती हैं, तो आप केवल एक टेबल का उपयोग कर सकते हैं और अक्सर इसे तुरंत हल कर सकते हैं। उतना सुंदर नहीं जितना संभवतः प्रस्तुति के साथ सामग्री को मिलाकर, लेकिन यह काम पूरा हो जाता है और आईई के आसपास पाने के लिए सीएसएस हैक्स से बचाता है।

0
जोड़ा

टेस्ट को क्रिस्टी पुराने एचटीएमएल v1.0 ब्राउज़र में भी समर्थित हैं। यदि आपके लक्षित बाजार में 1 99 0 के दशक से मोबाइल फोन में एम्बेड किए गए ब्राउज़र का उपयोग करने वाले लोग शामिल हैं, तो यह टेबल के साथ जाने का एक अच्छा कारण हो सकता है।

मौजूदा ऑटो-जेनरेट किए गए HTML के बहुत सारे टेबल का उपयोग करते हैं। यदि आपके कोड को उन तालिकाओं के साथ बातचीत करने या शामिल करने की आवश्यकता है, तो स्थिरता के लिए जाना बेहतर होगा।

0
जोड़ा
अर्थपूर्ण मार्कअप और सीएसएस का पूरा बिंदु यह है कि आपका पृष्ठ अभी भी एक क्रिस्टी पुराने एचटीएमएल v1 ब्राउज़र में भी समझ में आता है। टेबल्स आपको असंगतता और दुःस्वप्न देगा। अच्छा शीर्षक, पैराग्राफ और ऐसे आपको एक अच्छी संरचित पीईए देंगे जो सही समझ में आता है।
जोड़ा लेखक roryf, स्रोत
HTML 3.2 तक HTML में टेबल्स को नहीं जोड़ा गया था।
जोड़ा लेखक Jim, स्रोत

मैं कहूंगा कि jjrv सही है कि तालिकाएं टैब्यूलर डेटा के लिए उत्कृष्ट हैं, केवल एक टेबल का उपयोग करने के बजाय टेबल की तरह कुछ "काम" करने के लिए अपने रास्ते से बाहर निकलना सीमा रेखा मंद है।

यदि आप मानकों की परवाह करते हैं, और सभी ब्राउज़रों में ठोस कार्यान्वयन की ओर बढ़ते हैं तो आपका अधिकांश मार्कअप टेबल-कम तरल लेआउट में होना चाहिए ... और आपका टैब्यूलर डेटा है .. आपने इसे टेबल का अनुमान लगाया है!

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

यह सब कहा और उनके समय हैं जब आप दीवार के खिलाफ एक लेआउट पर अपने सिर पर टक्कर लगी है और आप इसे एक टेबल में f___ के माध्यम से कहना चाहते हैं और यह काम करता है। मुझे उम्मीद है कि यह एक बहिष्कृत अभ्यास है, लेकिन एक क्लिनच में यह अनुमानित परिणाम देता है।

0
जोड़ा

जब आप सुविधाओं को जोड़ रहे हों या बग फिक्स कर रहे हों या डेटा-संचालित वेब साइट को बदल रहे हों तो आधुनिक अर्थात् मार्कअप का उपयोग करना बहुत आसान है। AJAX सुविधाओं या किसी प्रकार की इंटरैक्टिव स्क्रिप्टिंग जोड़ना तालिकाओं के मुकाबले डीआईवी और सीएसएस के साथ बेहतर काम करेगा।

ड्रूपल, जूमला, वर्डप्रेस, या जैसे सामग्री प्रबंधक को स्थानांतरित करना बहुत आसान होगा यदि आप पहले से ही अर्थपूर्ण मार्कअप के साथ व्यवस्थित हैं।

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

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

वैध संरचनात्मक मार्कअप के लिए, यह है: सारणी डेटाबेस या स्प्रेडशीट टेबल जैसे टैब्यूलर डेटा प्रदर्शित करने का एक शानदार तरीका है। वे किसी और चीज़ के लिए वास्तव में वैध मार्कअप नहीं हैं।

0
जोड़ा

सबसे कम आम denominator एचटीएमएल या टैब्यूलर डेटा के लिए टेबल का उपयोग करें जहां कॉलम या पंक्तियों में फैलाने के लिए यह समझ में आता है। अन्यथा सीएसएस लेआउट बहुत कम वर्बोज़ होते हैं और इसे लटकने के बाद बनाए रखने के लिए बहुत आसान होता है।

0
जोड़ा

डीआईवी आधारित लेआउट सीमाओं से पीड़ित हैं। तालिकाओं के बिना यह अनिवार्य रूप से असंभव

0
जोड़ा

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

0
जोड़ा

आरई: टेबल क्यों?

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

फिर वे निर्णय लेते हैं कि सीएसएस 'बहुत समय लेने वाला' है ("मैं इसे सीखने के लिए समय बिताने के लिए तैयार नहीं हूं") या 'व्यावहारिक नहीं' ("मुझे यह नहीं मिला। यह बहुत कठिन है") और वह सारणी हैं एकमात्र सही तरीका है। जिद्दीपन और अज्ञानता के माध्यम से, वे अपने स्वयं के बकवास मानते हैं और टी अपने ग्राहकों और साथियों को मनाने के लिए।

और उनकी दुनिया खुश और अपरिवर्तित बनी हुई है, अतीत में आगे बढ़ रही है और अजीबता में गहरी है *

और वह "क्यों टेबल" है। समाप्त।

(* सिवाय इसके कि वे एचटीएमएल ईमेल कोडिंग के लिए उपयुक्त हैं)

0
जोड़ा