边框间距与圆形1px边框

时间:2013-04-14 16:27:12

标签: html css css3 html-table border-spacing

我找不到匹配的答案。

<table class="table1">
<tr>
    <td class="red header" colspan="4">
        Table1 header</td>
</tr>
...
<tr>
    <td class="red footer" colspan="4">Footer</td>
</tr>

<table class="table2">
<tr>
    <td class="red header" colspan="4">
        Table2 header</td>
</tr>
...
<tr>
    <td class="red footer" colspan="4">Footer</td>
</tr>

table {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
border: 1px solid #000;
}

.table1 {
border-spacing: 0;
}

.table2 {
border-collapse: collapse;
}

.footer {
-moz-border-bottom-right-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
border-bottom-right-radius: 5px;
-moz-border-bottom-left-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
border-bottom-left-radius: 5px;
}

.header {
-moz-border-top-right-radius: 5px;
-webkit-border-top-right-radius: 5px;
border-bottom-top-radius: 5px;
-moz-border-top-left-radius: 5px;
-webkit-border-top-left-radius: 5px;
border-top-left-radius: 5px;
text-align: center;
}

td {
border: 1px solid #000;
}

http://jsfiddle.net/uXUnm/

如您所见,table1有2px边框(我喜欢1px),table2没有圆角边框。 border-collapse:collapse;修复了由border-spacing: 0;引起的第一个问题,但打破了舍入。任何人都可以告诉我一种方法来解决这两个问题而不会弄乱:first-childlast-child等选择器吗?

1 个答案:

答案 0 :(得分:0)

这是我固定的CSS:

table {
    border:1px solid black;
    border-radius: 5px;
    border-spacing: 0;
}
table td:first-child, table td:not(:first-child):not(:last-child){
    border-right:1px solid black;
}
table tr:first-child td, table tr:not(:last-child) td {
    border-bottom:1px solid black;
}

table thead tr:first-child  td:first-child {
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    border-top-left-radius: 2px;
}

table thead tr:first-child  td:last-child {
    -webkit-border-top-right-radius:2px;
    -moz-border-radius-topright: 2px;
    border-top-right-radius: 2px;
}
table tbody tr:last-child  td:first-child {
    -webkit-border-bottom-left-radius: 2px;
    -moz-border-radius-bottomleft: 2px;
    border-bottom-left-radius: 2px;
}

table tbody tr:last-child  td:last-child {
    -webkit-border-bottom-right-radius: 2px;
    -moz-border-radius-bottomright: 2px;
    border-bottom-right-radius: 2px;
}

你可以设置border-radius:5px;任何价值,它将完美地运作!