SA-21/06, C-11, Asapur, Varanasi, UP support@kamaldnp.com +91 8318013442
पाठ 16, कुल 30 में

CSS टेबल्स

5 मिनट पढ़ें · मुफ़्त · बिना लॉगिन

सादी HTML table काम तो करती है, पर वह खाली-खाली दिखती है — पतली grey लाइनें, सिकुड़ा हुआ text, कोई रंग नहीं। CSS उसी table को साफ़ मेनू, सुथरी timetable या पढ़ने लायक marksheet में बदल देता है। आप HTML नहीं बदलते। आप सिर्फ style जोड़ते हैं।

Diagram — देखें, यह सब कैसे जुड़ता है
Diagram: CSS टेबल्स

Tables हर जगह इस्तेमाल होती हैं: चाय की दुकान का मेनू, स्कूल की timetable, क्रिकेट scorecard, परीक्षा की result list। अगर लोगों को rows में data पढ़ना है, तो table आँखों को आसान लगनी चाहिए। CSS tables का यही पूरा काम है।

Borders — पहला कदम

Table, headings और cells को border property से border दें। एक और property के बिना, आपको अजीब नतीजा मिलता है: हर cell अपनी border खुद बनाता है, इसलिए cells के बीच आपको दोहरी लाइनें दिखती हैं। हल है table पर border-collapse: collapse। यह छूती हुई borders को एक साफ़ लाइन में मिला देता है।

table {
  border-collapse: collapse;
  width: 100%;
}
th, td {
  border: 1px solid #999;
  padding: 10px;
}

चौड़ाई, padding और alignment

तीन छोटी properties सबसे ज़्यादा काम करती हैं। width तय करती है कि table कितनी चौड़ी है — 100% उसे अपने container को भर देता है। padding हर cell के अंदर साँस लेने की जगह देता है, ताकि text border को छुए नहीं। text-align text को सीधा करता है: headings और नाम बाईं ओर, नंबर और कीमतें दाईं ओर।

th, td {
  padding: 12px;
  text-align: left;
}
.price {
  text-align: right;
}

Zebra stripes — हर दूसरी पंक्ति को रंग

जब table में बहुत-सी rows होती हैं, तो आँख गलत लाइन पर फिसल जाती है। Zebra stripes इसे ठीक करते हैं: हर even row को हल्का background colour दें। Selector tr:nth-child(even) rows 2, 4, 6 वगैरह को चुनता है। आप :nth-child से pseudo-classes वाले पाठ में ठीक से मिलेंगे।

tr:nth-child(even) {
  background-color: #f2f2f2;
}

Hover वाली पंक्तियाँ

Hover row mouse के नीचे वाली row को जला देता है। यह छोटा-सा स्पर्श है, पर लंबी table को पढ़ना बहुत आसान कर देता है — पढ़ने वाला हमेशा जानता है कि वह किस row पर है।

tr:hover {
  background-color: #ddd;
}

Responsive tables — छोटी स्क्रीन पर

चौड़ी table phone की screen तोड़ देती है: वह या तो text को सिकोड़ देती है या पेज को बगल की ओर धकेल देती है। आसान हल है table को overflow-x: auto वाले <div> में लपेट देना। छोटी screen पर table अपने बॉक्स के अंदर बगल की ओर scroll होती है, और बाकी पेज स्थिर रहता है।

<div style="overflow-x: auto;">
  <table> ... </table>
</div>
Note: border-collapse: collapse वह property है जिसे beginners सबसे ज़्यादा भूलते हैं। इसके बिना, आपकी table दोहरी borders दिखाती है — दो पतली लाइनें जिनके बीच छोटा-सा gap होता है — और border की कोई styling उसे सही नहीं बना सकती।
Tip: Heading row को data rows से अलग style करें — उदाहरण के लिए गहरा background और सफ़ेद text। तब बहुत लंबी table में भी पाठक column के नाम एक नज़र में पहचान लेता है।

आम गलतियाँ

  • border-collapse: collapse भूल जाना और हैरान होना कि borders दोगुने क्यों दिखते हैं।
  • Border सिर्फ table पर लगाना और cells को भूल जाना — तब सिर्फ बाहरी किनारा दिखता है।
  • Cells के अंदर जगह के लिए padding की जगह <br> या extra spaces इस्तेमाल करना।
  • Table को तय pixel चौड़ाई देना, जिससे वह phone screen पर बाहर निकल जाती है।
  • हर row को एक ही गहरा रंग देना, जिससे zebra stripes और hover effect गायब हो जाते हैं।

याद रखें

  • border-collapse: collapse दोहरी borders को एक साफ़ लाइन में बदल देता है।
  • padding text को cell के अंदर जगह देता है; text-align उसे सीधा करता है।
  • tr:nth-child(even) zebra stripes बनाता है; tr:hover mouse के नीचे वाली row को जलाता है।
  • चौड़ी table को overflow-x: auto वाले div में लपेटें ताकि वह छोटी screens पर scroll हो।
  • Heading row (th) को data rows (td) से अलग style करें।
  • तरकीब: border-collapse लगाओ, डबल लाइन भगाओ।

उदाहरण समझिए

  • table { width: 80%; margin: 20px auto; border-collapse: collapse; } — table पेज की चौड़ाई का 80% लेती है, बीच में बैठती है, और उसकी borders एक लाइन में मिल जाती हैं।
  • th, td { border: 1px solid #d97706; padding: 12px; text-align: left; } — हर heading cell और data cell को एक ही गर्म भूरा border, हवादार padding और बाईं ओर रखा text मिलता है।
  • th { background-color: #92400e; color: white; } — heading row को गहरा भूरा background और सफ़ेद text मिलता है, इसलिए column के नाम अलग दिखते हैं।
  • tr:nth-child(even) { background-color: #fef3c7; } — हर even row को हल्का पीला background मिलता है, जिससे मेनू में zebra stripes बनती हैं।
  • tr:hover { background-color: #fde68a; } — mouse के नीचे वाली row गहरी पीली हो जाती है, इसलिए पाठक अपनी जगह कभी नहीं खोता।
  • .price { text-align: right; } — कीमत वाला column दाईं ओर सीधा होता है, जैसे कीमतें आम तौर पर पढ़ी जाती हैं।

उदाहरण

Example
<!DOCTYPE html>
<html>
<head>
<title>Chai Shop Menu</title>
<style>
body {
  font-family: Arial, sans-serif;
  background-color: #fff8f0;
}
h1 {
  text-align: center;
  color: #7b3f00;
}
table {
  width: 80%;
  margin: 20px auto;
  border-collapse: collapse;
}
th, td {
  border: 1px solid #d97706;
  padding: 12px;
  text-align: left;
}
th {
  background-color: #92400e;
  color: white;
}
tr:nth-child(even) {
  background-color: #fef3c7;
}
tr:hover {
  background-color: #fde68a;
}
.price {
  text-align: right;
}
</style>
</head>
<body>

<h1>Chai &amp; Snacks — Menu</h1>
<div style="overflow-x: auto;">
<table>
<tr>
<th>Item</th>
<th>Size</th>
<th class="price">Price</th>
</tr>
<tr>
<td>Masala Chai</td>
<td>Small</td>
<td class="price">Rs 10</td>
</tr>
<tr>
<td>Masala Chai</td>
<td>Large</td>
<td class="price">Rs 15</td>
</tr>
<tr>
<td>Adrak Elaichi Chai</td>
<td>Large</td>
<td class="price">Rs 20</td>
</tr>
<tr>
<td>Samosa</td>
<td>1 pc</td>
<td class="price">Rs 10</td>
</tr>
<tr>
<td>Bread Pakora</td>
<td>2 pc</td>
<td class="price">Rs 20</td>
</tr>
<tr>
<td>Bun Maska</td>
<td>1 pc</td>
<td class="price">Rs 15</td>
</tr>
</table>
</div>
<p style="text-align: center;">Fresh chai served all day, 7 AM to 9 PM.</p>

</body>
</html>

परिणाम

परिणाम — ब्राउज़र में यह कैसा दिखता है
परिणाम: CSS टेबल्स

खुद करके देखें — लाइव एडिटर

नीचे दिया गया कोड बदलें और चलाएँ दबाएँ — परिणाम तुरंत दिखेगा। कोई फाइल सहेजनी नहीं है, कोई लॉगिन नहीं चाहिए।

परिणाम

खुद क्यों सीखें — AI से पूछने के बजाय?

AI आपके लिए कोड लिख सकता है, लेकिन वह आपके लिए सोच नहीं सकता। जब आप HTML खुद सीखते हैं, तो आपका दिमाग असली कौशल बनाता है: आप समझते हैं कि पेज ऐसा क्यों दिखता है, टूटने पर उसे ठीक कर सकते हैं, और परीक्षा या इंटरव्यू में बिना मदद के जवाब दे सकते हैं। यही कौशल नौकरी दिलाता है — कॉपी किया हुआ जवाब नहीं।

सर्टिफिकेट पाएँ — सिर्फ ₹10

सभी 30 पाठ पूरे करें, टेस्ट पास करें (80%), ₹10 दें और अपना सर्टिफिकेट पाएँ।

टेस्ट दें

देखकर सीखना पसंद है? वीडियो कोर्स में वही विषय एक-एक करके सिखाए जाते हैं।

Go further with a full course

Free tutorials teach you the basics. Our paid courses add live projects, mentorship and a certificate.

Master Python + AI Skills in 30 Days
₹499
View
WordPress Website Development Course (10 Days)
₹399
View
Website Design Using WordPress 3 Days (Basic to Advanced)
₹199
View
Browse all courses
CSS — Lessons
1. CSS परिचय 2. CSS सिंटैक्स 3. CSS सेलेक्टर्स 4. CSS कैसे जोड़ें 5. CSS रंग 6. CSS बैकग्राउंड 7. CSS बॉर्डर 8. CSS मार्जिन 9. CSS पैडिंग 10. CSS ऊँचाई और चौड़ाई 11. CSS बॉक्स मॉडल 12. CSS टेक्स्ट 13. CSS फ़ॉन्ट्स 14. CSS लिंक्स 15. CSS लिस्ट्स 16. CSS टेबल्स 17. CSS डिस्प्ले 18. CSS पोज़िशन 19. CSS ओवरफ़्लो 20. CSS फ़्लोट 21. CSS स्यूडो-क्लास 22. CSS स्यूडो-एलिमेंट 23. CSS फॉर्म 24. CSS नेविगेशन बार 25. CSS वेबसाइट लेआउट 26. CSS Flexbox — लचीला लेआउट 27. CSS Grid — दो-आयामी लेआउट 28. CSS Responsive — हर screen पर अच्छा पेज 29. CSS Transitions और Animations 30. CSS Variables — नाम देकर value सहेजो
अंतिम टेस्ट — सर्टिफिकेट ₹10

🤖 KAMALDNP AI Assistant

Ask about courses, website & more

Hi! I'm KAMALDNP AI Assistant. Ask me about our courses, website features, or anything else! 😊
Please wait 5s...
🛡️ 7-Day Money-Back Guarantee
🤖 KAMALDNP Assistant ✕

Request human callback:

🔐 Login Required
✕

Download karne ke liye login karo. Login ke baad yahi page pe rahoge!

Naya ho? Register karo →