मुझे पता है कि यह देर से प्रतिक्रिया है, लेकिन मैं सिर्फ अपने 2 सेंट को गिराना चाहता था, क्योंकि मेरे ऐसा करने का तरीका यहां नहीं है।
आप देखें, मुझे वास्तव में मार्जिन के साथ खेलना पसंद नहीं है, खासकर नकारात्मक मार्जिन । हर ब्राउज़र इन को संभालने के लिए लगता है कि थोड़ा अलग है और हाशिये आसानी से बहुत सारी स्थितियों से प्रभावित होते हैं ।
यह सुनिश्चित करने का मेरा तरीका है कि मेरे पास divs के साथ एक अच्छी तालिका है, पहले एक अच्छा html संरचना बना रहा है , फिर सीएसएस लागू करें।
मैं इसे कैसे करता हूं इसका उदाहरण:
<div class="tableWrap">
<div class="tableRow tableHeaders">
<div class="tableCell first">header1</div>
<div class="tableCell">header2</div>
<div class="tableCell">header3</div>
<div class="tableCell last">header4</div>
</div>
<div class="tableRow">
<div class="tableCell first">stuff</div>
<div class="tableCell">stuff</div>
<div class="tableCell">stuff</div>
<div class="tableCell last">stuff</div>
</div>
</div>
अब, सीएसएस के लिए, मैं केवल यह सुनिश्चित करने के लिए पंक्तियों की संरचना का उपयोग करता हूं कि बॉर्डर्स केवल वे हैं जहां उन्हें होने की आवश्यकता है, जिससे कोई मार्जिन न हो;
.tableWrap {
display: table;
}
.tableRow {
display: table-row;
}
.tableWrap .tableRow:first-child .tableCell {
border-top: 1px solid #777777;
}
.tableCell {
display: table-cell;
border: 1px solid #777777;
border-left: 0;
border-top: 0;
padding: 5px;
}
.tableRow .tableCell:first-child {
border-left: 1px solid #777777;
}
Et वसीला, एक आदर्श तालिका। अब, जाहिर है कि इससे आपके DIV को चौड़ाई (विशेष रूप से पहला वाला) में 1px अंतर होगा, लेकिन मेरे लिए, जिसने कभी भी किसी भी तरह का कोई मुद्दा नहीं बनाया है। यदि यह आपकी स्थिति में होता है, तो मुझे लगता है कि आप तब मार्जिन पर अधिक निर्भर होंगे।