Home > Mobile >  How to space out a tables rows while having a border between them?
How to space out a tables rows while having a border between them?

Time:07-12

table {
  border-collapse: separate;
  border-spacing: 0 15px;
}

tr {
  border: 1px solid black;
  padding: 5px
}
<form>
  <table style="background-color: white; border-spacing: ">

    <tr>
      <td width="167">Input 1:</td>
      <td width="140"><input type="text" name="username" required maxlength="18">
      </td>
    </tr>
    <tr>

      <td>Input 2:</td>
      <td><input type="password" name="password" required></td>
    </tr>
  </table>
</form>

Hello I am trying to make a good looking table but I've run into a problem. All the people on the internet say that to space the rows I need to set the ' border-collapse: ' to separate. But then the internet people say that to have the rows be in the same border the ' border-collapse: ' needs to be set to collapse. Is there a way to have both? to have the table have separate spaced out rows that have the same column?


| cell 1 cell 2|


| cell 3 cell 4|

like this ^

CodePudding user response:

Here is an other example with border-radius:

table {
  border-collapse: separate;
  border-spacing: 0;
}

td {
  padding: 5px;
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
}

td:first-child {
  border-left: solid 1px #000;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

td:last-child {
  border-right: solid 1px #000;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

tr.spacer td {
  border: 0;
  padding: 10px;
}
<form>
  <table style="background-color: white; border-spacing: ">

    <tr>
      <td width="167">Input 1:</td>
      <td width="140"><input type="text" name="username" required maxlength="18">
      </td>
    </tr>

    <tr >
      <td colspan="2"></td>
    </tr>

    <tr>
      <td>Input 2:</td>
      <td><input type="password" name="password" required></td>

    </tr>
  </table>
</form>

CodePudding user response:

Just add a new row between them and give it a class like in example and style it as you need.

table {
  border-collapse: collapse;
}

tr {
  border: 1px solid black;
}

td {
  padding: 5px
}

tr.spacer {
  border: 0;
}

tr.spacer td {
  padding: 15px;
}
<form>
  <table style="background-color: white; border-spacing: ">

    <tr>
      <td width="167">Input 1:</td>
      <td width="140"><input type="text" name="username" required maxlength="18">
      </td>
    </tr>

    <tr >
      <td colspan="2"></td>
    </tr>

    <tr>
      <td>Input 2:</td>
      <td><input type="password" name="password" required></td>

    </tr>
  </table>
</form>

  • Related