- Абсолют.позиционирование — кроссбраузернее, ограничения: для сеток лучше не использовать, надо учитывать контекст наложения.
- Псевдо-элементы, достаточно хорошо поддерживаются, ограничения: не подходят для одиночных тегов (input), не воспринимаются через JS.
Для декоративных элементов подходят оба варианта, для контентных — первый.