I am using the following css to align labels and textareas
div { display: table; }
p { display: table-row; }
label { display: table-cell; text-align: center;}
textarea{ display: table-cell; margin-left: 10px}
, adapted from the answer of Clément from this question How to align input forms in HTML.
I am using the first paragraph as a header that only contains labels. The following paragraphs contain textareas.
<div>
<H4> h1 </H4>
<p>
<label>id</label>
<label>name</label>
<label>input1</label>
<label>input2</label>
<label>input3</label>
<label>input4</label>
</p>
<p>
<label>123213</label>
<label>test1</label>
<textarea title="1" style="border:1px solid black;"></textarea>
<textarea title="2" style="border:1px solid black;"></textarea>
<textarea title="3" style="border:1px solid black;"></textarea>
<textarea title="4" style="border:1px solid black;"></textarea>
</p>
<p>
<label>456</label>
<label>test2</label>
<textarea title="5" style="border:1px solid black;"></textarea>
<textarea title="6" style="border:1px solid black;"></textarea>
<textarea title="7" style="border:1px solid black;"></textarea>
<textarea title="8" style="border:1px solid black;"></textarea>
</p>
</div>
The first and second columns and their labels are displayed correctly. Just as the textareas. The third to sixth label of the first row however aren't displayed as intended. The table-cell of the third label seems to span over all (instead of one) table-cells of the textareas. The fourth to sixth label seems to be displayed in additional table-cells outside of the intended table width.
Here's a JSFiddle: https://jsfiddle.net/3rrabvu6/1/
I want each textarea to be displayed beneath one label of the first paragraph. How can I achieve this?