Tôi biết đây là một phản ứng muộn, nhưng tôi chỉ muốn giảm giá trị 2 xu của mình, vì cách làm của tôi không có ở đây.
Bạn thấy đấy, tôi thực sự không thích chơi với biên, đặc biệt là biên âm . Mọi trình duyệt dường như xử lý những điều này chỉ khác một chút và lợi nhuận dễ dàng bị ảnh hưởng bởi rất nhiều tình huống.
Cách của tôi để đảm bảo tôi có một bảng đẹp với div, là tạo một cấu trúc html tốt trước tiên , sau đó áp dụng css.
Ví dụ về cách tôi làm điều đó:
<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>
Bây giờ, đối với css, tôi chỉ cần sử dụng cấu trúc hàng để đảm bảo các đường viền chỉ ở nơi chúng cần, không gây ra lề;
.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 thì đấy, một chiếc bàn hoàn hảo. Bây giờ, rõ ràng điều này sẽ khiến DIV của bạn có sự khác biệt 1px về chiều rộng (cụ thể là chiều rộng đầu tiên), nhưng đối với tôi, điều đó chưa bao giờ tạo ra bất kỳ vấn đề nào dưới bất kỳ hình thức nào. Nếu nó xảy ra trong tình huống của bạn, tôi đoán bạn sẽ phụ thuộc nhiều hơn vào lợi nhuận.