если так писать то будет красный от 20px переходить в синий до 40px
и то что получилось будет повторено (т.к. repeating) сверху и снизу
опишите подробней что вам надо получить
или как минимум попробуйте первым параметром вставить 0-вую координату
например (red 0, red 20px, blue 40px)
тогда будет от 0 до 20 чистый красный, потом переход в синий от 20px до 40px, потом снова 20px чистого красного и далее еще 20px переход в синий и т.д.