По вашей методитке, вам наврятли поможет, т.к. кол-во текста в блоке может быть очень большим, и градиент будет всё равно виден.
Лучший, на мой взгляд способ - это через nth-child добавлять фоновый цвет. Но тут есть нюанс, придётся писать много селекторов с цветами. Я бы просто сделал просто 5-10 цветов. Css не призван решать такие задачи дизайнера, увы.