Rouded table borders

by Neviton

HTML

<table class="table1">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>

<table class="table2">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>

CSS

body {
    background-color: #363;
}
table {
    border-collapse: separate;
    border-spacing: 5px;
    border-radius: 5px;
    background-color: #9c9;
    margin: 40px 0 0 40px;
    font-family: Arial;
    color: #373;
    float: left;
}

table.table2 {
    border-spacing: 0;
}

table.table1 td {
    border-top: solid 1px #fff;
    box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
}

td {
    background-color: #cfc;
    padding: 5px 10px;
}

tr:first-child td:first-child { border-radius: 5px 0 0 0; }
tr:first-child td:last-child { border-radius: 0 5px 0 0; }
tr:last-child td:first-child { border-radius: 0 0 0 5px; }
tr:last-child td:last-child { border-radius: 0 0 5px 0; }