जवाबों:
मूल बातें
CSS में "cellpadding" को नियंत्रित करने के लिए, आप बस padding
टेबल सेल पर उपयोग कर सकते हैं। "सेलपैडिंग" के 10px के लिए जैसे:
td {
padding: 10px;
}
"सेलस्पेसिंग" के लिए, आप border-spacing
सीएसएस संपत्ति को अपनी मेज पर लागू कर सकते हैं। जैसे "सेलस्पेसिंग" के 10px के लिए:
table {
border-spacing: 10px;
border-collapse: separate;
}
यह संपत्ति अलग-अलग क्षैतिज और ऊर्ध्वाधर रिक्ति की भी अनुमति देगी, ऐसा कुछ जो आप पुराने स्कूल "सेलस्पेसिंग" के साथ नहीं कर सकते थे।
IE <= 7 में समस्याएँ
यह इंटरनेट एक्सप्लोरर 7 के माध्यम से इंटरनेट एक्सप्लोरर को छोड़कर लगभग सभी लोकप्रिय ब्राउज़रों में काम करेगा, जहां आप लगभग भाग्य से बाहर हैं। मैं "लगभग" कहता हूं क्योंकि ये ब्राउज़र अभी भी border-collapse
संपत्ति का समर्थन करते हैं, जो कि आसन्न तालिका कोशिकाओं की सीमाओं को मर्ज करता है। यदि आप सेलस्पेसिंग (यानी cellspacing="0"
) को खत्म करने की कोशिश कर रहे हैं, border-collapse:collapse
तो इसका एक ही प्रभाव होना चाहिए: तालिका कोशिकाओं के बीच कोई स्थान नहीं। यह समर्थन छोटी गाड़ी है, हालांकि, यह cellspacing
टेबल तत्व पर मौजूदा HTML विशेषता को ओवरराइड नहीं करता है।
संक्षेप में: गैर-इंटरनेट एक्सप्लोरर 5-7 ब्राउज़रों के लिए, border-spacing
आपको संभालता है। इंटरनेट एक्सप्लोरर के लिए, यदि आपकी स्थिति ठीक है (आप 0 सेलस्पेसिंग चाहते हैं और आपकी तालिका में यह पहले से परिभाषित नहीं है), तो आप उपयोग कर सकते हैं border-collapse:collapse
।
table {
border-spacing: 0;
border-collapse: collapse;
}
नोट: सीएसएस गुणों के एक महान अवलोकन के लिए, जो तालिकाओं पर लागू हो सकता है और किस ब्राउज़र के लिए, यह शानदार Quirksmode पृष्ठ देखें ।
ब्राउज़र का डिफ़ॉल्ट व्यवहार इसके बराबर है:
table {border-collapse: collapse;}
td {padding: 0px;}
सेल और सेल दीवार की सामग्री के बीच अंतरिक्ष की मात्रा निर्धारित करता है
table {border-collapse: collapse;}
td {padding: 6px;}
तालिका कोशिकाओं के बीच के स्थान को नियंत्रित करता है
table {border-spacing: 2px;}
td {padding: 0px;}
table {border-spacing: 2px;}
td {padding: 6px;}
table {border-spacing: 8px 2px;}
td {padding: 6px;}
नोट: अगर वहाँ
border-spacing
सेट है, यह इंगित करताborder-collapse
है कि तालिका की संपत्ति हैseparate
।
यहां आप इसे प्राप्त करने का पुराना HTML तरीका पा सकते हैं।
table
{
border-collapse: collapse; /* 'cellspacing' equivalent */
}
table td, table th
{
padding: 0; /* 'cellpadding' equivalent */
}
cellspacing=0
बराबर है। के लिए समकक्ष cellspacing=1
पूरी तरह से अलग है। स्वीकृत उत्तर देखें।
table td
और table th
सिर्फ td
और th
क्रमशः? यह किसी भी तरह से काम करता है, लेकिन एक छोटे चयनकर्ता का मतलब है थोड़ा तेज मिलान
table > tr > td
और table > tr > th
। यह लगभग उतना ही तेज है tr
और th
, और यह काम करने की गारंटी है यदि आपके पास एक नेस्टेड टेबल है। बस मेरे 2 सी
table
चयनकर्ता की आवश्यकता है? IIRC, a <td>
अमान्य है जब तक कि अंदर a <tr>
।
टेबल सेल्स पर मार्जिन सेट करने का वास्तव में कोई प्रभाव नहीं पड़ता है जहाँ तक मुझे पता है। के लिए सच सीएसएस बराबर cellspacing
है border-spacing
- लेकिन यह इंटरनेट एक्सप्लोरर में काम नहीं करता है।
आप border-collapse: collapse
सेल रिक्ति को 0 बताए अनुसार उपयोग कर सकते हैं , लेकिन किसी भी अन्य मूल्य के लिए मुझे लगता है कि केवल क्रॉस-ब्राउज़र तरीका cellspacing
विशेषता का उपयोग करना है।
border-collapse
केवल IE 5-7 में काम करता है यदि तालिका में पहले से कोई cellspacing
विशेषता निर्धारित नहीं है। मैंने एक व्यापक उत्तर लिखा है जो इस पृष्ठ पर अन्य उत्तरों के सभी सही हिस्सों को विलय करता है जो कि सहायक होते हैं।
यह हैक इंटरनेट एक्सप्लोरर 6 और बाद में, Google क्रोम , फ़ायरफ़ॉक्स और ओपेरा के लिए काम करता है :
table {
border-collapse: separate;
border-spacing: 10px; /* cellspacing */
*border-collapse: expression('separate', cellSpacing = '10px');
}
table td, table th {
padding: 10px; /* cellpadding */
}
*
घोषणा इंटरनेट एक्सप्लोरर 6 और 7 के लिए है, और अन्य ब्राउज़रों ठीक से ध्यान नहीं देगा।
expression('separate', cellSpacing = '10px')
रिटर्न 'separate'
, लेकिन दोनों स्टेटमेंट चलाए जाते हैं, जैसे कि जावास्क्रिप्ट में आप उम्मीद से अधिक तर्क पारित कर सकते हैं और उन सभी का मूल्यांकन किया जाएगा।
उन लोगों के लिए जो एक गैर-शून्य सेलस्पेसिंग मूल्य चाहते हैं, निम्नलिखित सीएसएस ने मेरे लिए काम किया, लेकिन मैं इसे फ़ायरफ़ॉक्स में परीक्षण करने में सक्षम हूं।
संगतता विवरण के लिए कहीं और पोस्ट किए गए Quirksmode लिंक देखें। ऐसा लगता है कि यह पुराने Internet Explorer संस्करणों के साथ काम नहीं कर सकता है।
table {
border-collapse: separate;
border-spacing: 2px;
}
इस समस्या का सरल समाधान है:
table
{
border: 1px solid #000000;
border-collapse: collapse;
border-spacing: 0px;
}
table td
{
padding: 8px 8px;
}
एक डिव के साथ सेल की सामग्री को लपेटें और आप अपनी इच्छानुसार कुछ भी कर सकते हैं, लेकिन एक समान प्रभाव पाने के लिए आपको हर सेल को एक कॉलम में लपेटना होगा। उदाहरण के लिए, बस व्यापक बाएं और दाएं मार्जिन प्राप्त करने के लिए:
तो सीएसएस होगा,
div.cellwidener {
margin: 0px 15px 0px 15px;
}
td.tight {
padding: 0px;
}
<table border="0">
<tr>
<td class="tight">
<div class="cellwidener">My content</div>
</td>
</tr>
</table>
हाँ, यह एक परेशानी है। हां, यह इंटरनेट एक्सप्लोरर के साथ काम करता है। वास्तव में, मैंने केवल इंटरनेट एक्सप्लोरर के साथ इसका परीक्षण किया है, क्योंकि हमें काम पर उपयोग करने की अनुमति है।
यह शैली तालिकाओं के लिए पूर्ण रीसेट के लिए है - सेलपैडिंग , सेलस्पेसिंग और बॉर्डर ।
मैंने अपनी रीसेट फ़ाइल में यह शैली बनाई थी:
table{
border:0; /* Replace border */
border-spacing: 0px; /* Replace cellspacing */
border-collapse: collapse; /* Patch for Internet Explorer 6 and Internet Explorer 7 */
}
table td{
padding: 0px; /* Replace cellpadding */
}
table th,td {
padding: 8px 2px;
}
table {
border-collapse: separate;
border-spacing: 2px;
}
बस तालिका डेटा के साथ सीएसएस पैडिंग नियमों का उपयोग करें:
td {
padding: 20px;
}
और सीमा रिक्ति के लिए:
table {
border-spacing: 1px;
border-collapse: collapse;
}
हालांकि, यह बॉक्स मॉडल के पर्याप्त कार्यान्वयन के कारण इंटरनेट एक्सप्लोरर जैसे ब्राउज़रों के पुराने संस्करण में समस्याएं पैदा कर सकता है।
W3C वर्गीकरण से मुझे जो समझ में आता है, वह यह है कि <table>
डेटा 'केवल' प्रदर्शित करने के लिए है।
उसके आधार पर मुझे <div>
पृष्ठभूमि और उस सब के साथ एक बहुत आसान बनाने में मदद मिली और डेटा के साथ एक तालिका है जिसका उपयोग करके position: absolute;
और उस पर तैर रहा है background: transparent;
...
यह क्रोम, इंटरनेट एक्सप्लोरर (6 और बाद में) और मोज़िला फ़ायरफ़ॉक्स (2 और बाद में) पर काम करता है।
मार्जिन उपयोग किया जाता है (या वैसे भी मतलब) कंटेनर तत्वों, जैसे जो स्पेसर बनाने के लिए <table>
, <div>
और <form>
, नहीं <tr>
, <td>
, <span>
या <input>
। कंटेनर तत्वों के अलावा किसी अन्य चीज़ के लिए इसका उपयोग आपको भविष्य के ब्राउज़र अपडेट के लिए अपनी वेबसाइट को समायोजित करने में व्यस्त रखेगा।
आप सीएसएस पैडिंग प्रॉपर्टी का उपयोग करके आसानी से टेबल सेल्स के अंदर पैडिंग सेट कर सकते हैं। यह तालिका के सेलपैडिंग विशेषता के समान प्रभाव उत्पन्न करने का एक वैध तरीका है।
table,
th,
td {
border: 1px solid #666;
}
table th,
table td {
padding: 10px;
/* Apply cell padding */
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Set Cellpadding in CSS</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Row</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Clark</td>
<td>Kent</td>
<td>clarkkent@mail.com</td>
</tr>
<tr>
<td>2</td>
<td>Peter</td>
<td>Parker</td>
<td>peterparker@mail.com</td>
</tr>
<tr>
<td>3</td>
<td>John</td>
<td>Rambo</td>
<td>johnrambo@mail.com</td>
</tr>
</tbody>
</table>
</body>
</html>
इसी तरह, आप सेलस्पेसिंग विशेषता की तरह आसन्न टेबल सेल बॉर्डर के बीच रिक्ति को लागू करने के लिए CSS बॉर्डर-स्पेसिंग संपत्ति का उपयोग कर सकते हैं। हालाँकि, बॉर्डर-वर्किंग के काम के लिए बॉर्डर-पतन प्रॉपर्टी म्यूज का मान अलग-अलग होना चाहिए, जो डिफ़ॉल्ट है।
table {
border-collapse: separate;
border-spacing: 10px;
/* Apply cell spacing */
}
table,
th,
td {
border: 1px solid #666;
}
table th,
table td {
padding: 5px;
/* Apply cell padding */
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Set Cellspacing in CSS</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Row</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Clark</td>
<td>Kent</td>
<td>clarkkent@mail.com</td>
</tr>
<tr>
<td>2</td>
<td>Peter</td>
<td>Parker</td>
<td>peterparker@mail.com</td>
</tr>
<tr>
<td>3</td>
<td>John</td>
<td>Rambo</td>
<td>johnrambo@mail.com</td>
</tr>
</tbody>
</table>
</body>
</html>
इसे इस्तेमाल करे:
table {
border-collapse: separate;
border-spacing: 10px;
}
table td, table th {
padding: 10px;
}
या यह प्रयास करें:
table {
border-collapse: collapse;
}
table td, table th {
padding: 10px;
}
मैंने !important
जैसे बॉर्डर-पतन के बाद उपयोग किया
border-collapse: collapse !important;
और यह IE7 में मेरे लिए काम करता है। यह सेलस्पेसिंग विशेषता को ओवरराइड करने लगता है।
!important
केवल एक जटिल स्थिति में अन्य सीएसएस सेटिंग्स को ओवरराइड करने की आवश्यकता होगी (और तब भी ज्यादातर एक गलत दृष्टिकोण)।
!important
, जिसे दूसरे उत्तर के बजाय टिप्पणी के रूप में शामिल किया जा सकता था।
<table>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
cell-padding
padding
सीएसएस द्वारा दिया जा सकता है जबकि टेबल के लिए cell-spacing
सेट करके सेट किया जा सकता है border-spacing
।
table {
border-spacing: 10px;
}
td {
padding: 10px;
}
फील करना ।
तालिकाओं के लिए, सेलस्पेसिंग और सेलपैडिंग HTML 5 में अप्रचलित हैं।
अब सेलस्पेसिंग के लिए आपको बॉर्डर-स्पेसिंग का उपयोग करना होगा। और सेलपैडिंग के लिए आपको बॉर्डर-पतन का उपयोग करना होगा।
और सुनिश्चित करें कि आप अपने HTML5 कोड में इसका उपयोग नहीं करते हैं। हमेशा सीएसएस 3 फ़ाइल में इन मानों का उपयोग करने का प्रयास करें।
table {
border-spacing: 4px;
color: #000;
background: #ccc;
}
td {
padding-left: 4px;
}
एक HTML तालिका में, cellpadding
और cellspacing
इसे इस तरह सेट किया जा सकता है:
के लिए सेल गद्दी :
बस सरल td/th
सेल कहते हैं padding
।
उदाहरण:
table {
border-collapse: collapse;
}
td {
border: 1px solid red;
padding: 10px;
}
के लिए सेल रिक्ति
बस सरल को बुलाओ table
border-spacing
उदाहरण:
/********* Cell-Spacing ********/
table {
border-spacing: 10px;
border-collapse: separate;
}
td {
border: 1px solid red;
}
सीएसएस स्रोत लिंक द्वारा अधिक टेबल शैली यहां आपको सीएसएस द्वारा अधिक टेबल शैली मिलती है ।
आप बस अपने सीएसएस में कुछ ऐसा कर सकते हैं, का उपयोग कर border-spacing
और padding
:
table {
border-collapse: collapse;
}
td, th {
padding: 1em;
border: 1px solid blue;
}
<table>
<tr>
<th>head_1</th>
<th>head_2</th>
<th>head_3</th>
<th>head_4</th>
</tr>
<tr>
<td>txt_1</td>
<td>txt_2</td>
<td>txt_3</td>
<td>txt_4</td>
</tr>
</table>
कैसे शैली को सीधे टेबल पर सीधे जोड़ने के बारे में? यह table
आपके सीएसएस में उपयोग करने के बजाय है , जो कि आपके पृष्ठ पर कई तालिकाओं के होने पर BAD दृष्टिकोण है:
<table style="border-collapse: separate;border-spacing: 2px;">
<tr>
<td style="padding: 4px 4px;">Some Text</td>
</tr>
</table>
td { padding: ... }
या table { border-spacing: ... }
, बजाय इसे सीधे टेबल पर लागू करने के। वे कुछ नहीं जोड़ते। जैसा कि मैंने कहा, जब आपके पेज पर कई टेबल हैं और उन्हें प्रभावित नहीं करना चाहते हैं, तो आप यह नहीं चाहते हैं! हमें "स्टाइलशीट का उपयोग करें!" कहने वाले उत्तर के पूरे पृष्ठ की आवश्यकता नहीं है, हो सकता है कि जब आप चाहते हैं कि आखिरी चीज हो, क्योंकि आप केवल एक सेल या टेबल के लिए प्रारूपण चाहते हैं। यही कारण है कि जब यह करने के लिए आवेदन है table
या td
यह overkill है के लिए अवांछनीय और एक पूरी नई वर्ग पैदा हो गई।
table#someId
)।
मैं यह सुझाव देता हूं और विशेष तालिका के लिए सभी कोशिकाएं प्रभावित होती हैं।
table.tbl_classname td, th {
padding: 5px 5px 5px 4px ;
}
आप नीचे दिए गए कोड की जांच कर सकते हैं index.html
और इसे बना सकते हैं।
<!DOCTYPE html>
<html>
<head>
<style>
table{
border-spacing:10px;
}
td{
padding:10px;
}
</style>
</head>
<body>
<table cellspacing="0" cellpadding="0">
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
</body>
</html>
OUTPUT:
width:auto
तोborder-collapse
उम्मीद के मुताबिक काम नहीं कर सकते हैं।