Не изменяя HTML, вы можете установить интервалы display:table-cell;
.EG:
span.symbol, span.text {
display:table-cell;
}
Таким образом, они будут сидеть рядом друг с другом так:
table.tbl {
font-size: 12px;
width: 500px;
}
table.tbl thead th {
text-align: left;
}
table.tbl tbody td {
text-align: left;
}
span.symbol {
color: red;
font-weight: bold;
}
span.symbol, span.text {
display:table-cell;
}
<table class="tbl">
<thead>
<tr>
<th>Data Validation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Form validation text description and some instructions.</td>
</tr>
<tr>
<td>
<span class="symbol">?</span>
<span class="text">Here we have some text that can be too long sometimes. In that case text will wrap under question mark symbol from the span element above.</span>
<br><span style="color:red">- Test User Name 02/07/2019</span></td>
</tr>
</tbody>
</table>
Однако на самом деле вы должны заключить два блока контента в элементы, которыми вы можете управлять легче.
table.tbl {
font-size: 12px;
width: 500px;
}
table.tbl thead th {
text-align: left;
}
table.tbl tbody td {
text-align: left;
}
.symbol {
color: red;
font-weight: bold;
}
.symbol,
.text {
display: table-cell;
}
<table class="tbl">
<thead>
<tr>
<th>Data Validation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Form validation text description and some instructions.</td>
</tr>
<tr>
<td>
<div class="symbol">?</div>
<div class="text">Here we have some text that can be too long sometimes. In that case text will wrap under question mark symbol from the span element above.
<br><span style="color:red">- Test User Name 02/07/2019</span></div>
</td>
</tr>
<tr>
<td>
<div class="symbol">?</div>
<div class="text">Here we have some text that is short.
<br><span style="color:red">- Test User Name 02/07/2019</span></div>
</td>
</tr>
</tbody>
</table>
Поскольку вы все равно используете таблицу, почему бы просто не иметь вложенную таблицу или несколько ячеек и кольспанов?EG:
table.tbl {
font-size: 12px;
width: 500px;
}
table.tbl thead th {
text-align: left;
}
table.tbl tbody td {
text-align: left;
}
td.symbol {
color: red;
font-weight: bold;
vertical-align:top;
}
<table class="tbl">
<thead>
<tr>
<th colspan="2">Data Validation</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">Form validation text description and some instructions.</td>
</tr>
<tr>
<td class="symbol">?</td>
<td class="text">Here we have some text that can be too long sometimes. In that case text will wrap under question mark symbol from the span element above.
<br><span style="color:red">- Test User Name 02/07/2019</span></td>
</tr>
<tr>
<td class="symbol">?</td>
<td class="text">Here we have some that is short.
<br><span style="color:red">- Test User Name 02/07/2019</span></td>
</tr>
</tbody>
</table>