Но нужен overflow для родителя, высота для псевдо больше максимальной высоты пункта списка и чтобы вся конструкция помещалась по горизонтали.
У вас, кстати, псевдо и по макету подходит.
Я сомневаюсь, что такая лестница нужна больше, чем для 10-ка пунктов (да и в 10 не верю). Так что проще напрямую через nth-child.
Варианты:
1. Нижнему блоку задаете отрицательный верхний margin
2. Блоку с картинкой даете отрицательный верхний margin. А верхнему блоку нужный padding.
3. Верхнему блоку задает фон не цветом, а градиентом.