Я вижу два варианта с чистым CSS:
1.
Если у вас есть фиксированная высота пикселей для строк ввода, вы всегда можете использовать одно фоновое изображение с градиентами на нем. Если вы составляете меню со списками, вы можете просто добавить его к тегу охватывающего списка.
2.
Если вы хотите сохранить гибкость высоты строки / размера шрифта, вы можете работать с несколькими классами: по одному для каждого цветового тона. Просто дайте каждой n-й строке специальный класс с соответствующим цветовым тоном в качестве цвета фона и добавьте этот класс в тег для этой строки.
критик дизайна:
Проблема, которую я вижу здесь, состоит в том, что у вас будет максимальное количество записей, потому что с этим уровнем постепенного исчезновения цвет фона станет белым после шести или семи записей.
добрые слова:
Пока меню не должно быть прозрачным, все будет в порядке.