How do I render a form as a table? The default form layout has each form element wrapped in individual div tags, with a label, and input inside. I would like to lay things out neatly, and create a column for the field labels, and another column for the input areas.

I can see this being accomplished in one of two ways:
- I could create a table, using table elements or divs, and separate the labels from the inputs. Would I use Twig for this?
- Alternatively, maybe there's a creative way to use CSS with the default structure to make everything look good. If there is, I can't figure it out.

How should I implement one of these, or another way to accomplish the same thing?
I had forgotten about the table-cell and table-row diplay properties. Despite the fact that CSS is off topic, the way to do it given Drupal's  form class structure is:

.form-no-label {
    display: table-cell;
}
label {
    display: table-cell;
}
.container-inline {
    display: table-cell;
}
.label {
    display: table-cell;
}
.form-item {
    display: table-row;
}