Mam tabelę i chcę użyć CSS :: before pseudo element z licznikiem, aby dodać numer wiersza do pierwszego td
każdego wiersza. Mój problem polega na tym, że jeśli pierwszy td zawija, druga linia zaczyna się pod tym numerem i chciałbym, żeby zaczął on wstawiać tekst nad nim. Czy można to zrobić za pomocą samego CSS?Jak uzyskać wcięcie po :: before pseudo element?
Przykład:
Edit
https://jsfiddle.net/3yL19zde/
HTML:
<table>
<tr>
<td>Some really long text that wraps to a second line...</td>
<td>Some other column</td>
<td>A third column</td>
</tr>
<tr>
<td>Some really long text that wraps to a second line...</td>
<td>Some other column</td>
<td>A third column</td>
</tr>
</table>
CSS:
table {
width: 480px;
}
table td {
vertical-align: text-top;
}
table tr {
counter-increment: rowNumber;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
font-weight: bold;
}
Nie wiedziałem o 'wyświetlaczu: stół-cell', to jest dokładnie to, co potrzebne. –
Uwaga 'display: table-cell' nie jest całkowicie niezbędna. Jeśli go nie użyjesz, pseudoelement zostanie zawinięty wewnątrz anonimowej komórki tabeli zgodnie z [anonimowymi obiektami tabel] (https://www.w3.org/TR/CSS21/tables.html#anonymous-boxes), więc tekst będzie nadal "wcięty", jak chcesz. Ale do celów stylizacji łatwiej jest, jeśli pseudoelement jest samą komórką. – Oriol