Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

CSS का उपयोग करके टेबल लेआउट कंट्रोल करना


table-layout प्रॉपर्टी

टेबल लेआउट को कंट्रोल करने के लिए table-layout प्रॉपर्टी का उपयोग करें।

संभावित मान:

table-layout: auto | fixed | initial | inherit;

मानों का विवरण:

  • auto: ब्राउज़र कंटेंट के आधार पर कॉलम चौड़ाई की गणना करता है (डिफ़ॉल्ट)
  • fixed: टेबल और कॉलम चौड़ाई टेबल की चौड़ाई और कॉलम्स द्वारा निर्धारित होती है, कंटेंट द्वारा नहीं
  • initial: डिफ़ॉल्ट मान पर रीसेट
  • inherit: पैरेंट एलिमेंट से विरासत में लें

उदाहरण 1: table-layout: auto

डिफ़ॉल्ट व्यवहार - कंटेंट के आधार पर कॉलम चौड़ाई:

<!DOCTYPE html>
<html>
<head>
<style>
table {
  border-collapse: collapse;
  background-color: black;
  color: white;
}
table#demo {
  table-layout: auto;
  width: 210px;
}
</style>
</head>
<body>
<h2>टीम रैंकिंग टेबल</h2>
<table id="demo">
  <tr><th>टीम</th><th>रैंक</th><th>पॉइंट्स</th></tr>
  <tr><td>भारत</td><td>1</td><td>200</td></tr>
  <tr><td>इंग्लैंड</td><td>2</td><td>180</td></tr>
  <tr><td>ऑस्ट्रेलिया</td><td>3</td><td>150</td></tr>
  <tr><td>न्यूजीलैंड</td><td>4</td><td>130</td></tr>
  <tr><td>दक्षिण अफ्रीका</td><td>5</td><td>100</td></tr>
  <tr><td>वेस्टइंडीज</td><td>6</td><td>80</td></tr>
  <tr><td>पाकिस्तान</td><td>7</td><td>70</td></tr>
</table>
</body>
</html>

आउटपुट

कॉलम चौड़ाई कंटेंट (टीम नामों की लंबाई) के अनुसार एडजस्ट होगी।

उदाहरण 2: table-layout: fixed

फिक्स्ड लेआउट - तेज़ रेंडरिंग, पूर्वानुमेय चौड़ाई:

<!DOCTYPE html>
<html>
<head>
<style>
table {
  background-color: green;
  color: white;
}
table#demo {
  table-layout: fixed;
  width: 100%;
}
</style>
</head>
<body>
<h2>टीम रैंकिंग टेबल</h2>
<table id="demo">
  <tr><th>टीम</th><th>रैंक</th><th>पॉइंट्स</th></tr>
  <tr><td>भारत</td><td>1</td><td>200</td></tr>
  <tr><td>इंग्लैंड</td><td>2</td><td>180</td></tr>
  <tr><td>ऑस्ट्रेलिया</td><td>3</td><td>150</td></tr>
  <tr><td>न्यूजीलैंड</td><td>4</td><td>130</td></tr>
  <tr><td>दक्षिण अफ्रीका</td><td>5</td><td>100</td></tr>
  <tr><td>वेस्टइंडीज</td><td>6</td><td>80</td></tr>
  <tr><td>पाकिस्तान</td><td>7</td><td>70</td></tr>
</table>
</body>
</html>

आउटपुट

कॉलम्स समान रूप से वितरित होंगे (प्रत्येक ~33.33%) क्योंकि कोई विशिष्ट कॉलम चौड़ाई सेट नहीं की गई है।

fixed vs auto - तुलना:

विशेषताautofixed
रेंडरिंग गतिधीमी (सभी कंटेंट पढ़ना पड़ता है)तेज़ (पहली पंक्ति के बाद रेंडर)
कॉलम चौड़ाईकंटेंट द्वारा निर्धारितटेबल/कॉलम चौड़ाई द्वारा निर्धारित
ओवरफ्लो हैंडलिंगसेल एक्सपैंड होता हैकंटेंट कट सकता है (overflow प्रॉपर्टी से कंट्रोल)
उपयोग का मामलाअनिश्चित कंटेंट, छोटी टेबल्सबड़ी टेबल्स, परफॉर्मेंस क्रिटिकल

सर्वोत्तम अभ्यास:

  • बड़ी डेटा टेबल्स के लिए fixed उपयोग करें
  • fixed के साथ <col> या पहली पंक्ति में चौड़ाई सेट करें
  • ओवरफ्लो कंटेंट के लिए overflow: hidden, text-overflow: ellipsis उपयोग करें
  1. CSS से ज़ेबरा स्ट्राइप्ड टेबल (अल्टरनेट रो कलर) कैसे बनाएं? CSS से ज़ेबरा स्ट्राइप्ड टेबल (अल्टरनेट रो कलर) कैसे बनाएं?

    ज़ेबरा स्ट्रिपिंग में वैकल्पिक पंक्तियों का रंग अलग होता है। tr:nth-child(even) सिलेक्टर का उपयोग करके सम पंक्तियों को स्टाइल किया जाता है। इससे बड़ी टेबल पढ़ना आसान हो जाता है। उदाहरण <!DOCTYPE html> <html> <head> <meta name=viewport content=width=device-width, initial-scal

  1. CSS से तुलना टेबल (कॉम्पेरिजन टेबल) कैसे बनाएं? CSS से तुलना टेबल (कॉम्पेरिजन टेबल) कैसे बनाएं?

    कॉम्पेरिजन टेबल में फीचर कॉलम बाएं, प्लान कॉलम दाएं होते हैं। nth-child(even) से वैकल्पिक पंक्ति रंग, पहले कॉलम लेफ्ट-अलाइन, बाकी सेंटर। रिस्पॉन्सिव नहीं है लेकिन साफ डिज़ाइन। उदाहरण <!DOCTYPE html> <html> <head> <meta name=viewport content=width=device-width, initial-scale=

  1. CSS से रिस्पॉन्सिव टेबल कैसे बनाएं? CSS से रिस्पॉन्सिव टेबल कैसे बनाएं?

    रिस्पॉन्सिव टेबल के लिए टेबल को overflow-x: auto वाले डिव में लपेटें। छोटे स्क्रीन पर क्षैतिज स्क्रॉलबार दिखाई देगा, टेबल संरचना बनी रहती है। ज़ेबरा स्ट्रिपिंग शामिल है। उदाहरण <!DOCTYPE html> <html> <head> <meta name=viewport content=width=device-width, initial-scale=1>