В Chrome я вижу переполнение текста вместо переноса в ячейки таблицы при использовании ::before
для содержимого внутри ячейки.Кажется, что ::before
- это триггер, без него все будет как обычно.Я не вижу этого в Firefox или IE / Edge.
Ниже приведен очень упрощенный пример.В системе, в которой я работаю, я не могу изменить HTML, только CSS.
Использование display: inline-block
на label
исправляет перенос, но заставляет зеленое поле больше не отображаться встроенным(обернутая линия будет выравниваться справа от зеленого поля, а не слева).Я пытаюсь найти способ сделать Chrome простым переносом, как это делают другие браузеры.
Firefox и IE / Edge

Chrome

table {
font-size: 40px;
width: 350px;
border: 1px solid blue;
}
td {
border: 1px solid red;
}
label {
padding-left: 1em;
position: relative;
}
label::before {
border: 1px solid green;
content: "";
height: 1em;
width: 1em;
top: 0;
left: 0;
display: block;
position: absolute;
}
<!DOCTYPE html>
<html>
<body>
<table>
<tr>
<td><label>text A</label></td>
<td><label>text B</label></td>
<td><label>text C</label></td>
</tr>
</table>
</body>
</html>