Сначала придётся покритиковать предыдущие ответы.
1) 7 цветов - это условность. Их бесконечно много.
Белый цвет вполне себе есть - иначе что же бы называем белым? Вот "белой" длины волны, положим, действительно нет. Вообще воспринимаемый цвет - это лишь психофизическое ощущение. Оно появляется и от чистых монохроматических излучений, и от смеси таких излучений и от широкополосного источника.
2) Не "дифракция", а "дисперсия". Дифракция вообще имеет несколько иную природу и в частности (но не только) происходит на дифракционной решётке. И дифракционный спектр имеет отличия от дисперсионного.
А по существу вопроса:
Имеем дело с явлением дисперсии - зависимости скорости распространения света от среды, в которой он распространяется. Эта зависимость скоростей определяет коэффициент преломления среды и угол, под которым в среду входит преломлённый свет. ( sin(a)/sin(b) = n) В частности, эта скорость (а следовательно и коэффициент преломления n) немного зависит от длины волны света. Поэтому когда свет под углом падает на поверхность воздух-стекло, составляющие с разной длиной волны (или с разным цветом, как воспринимается глазом) внутри стекла уже распространяются несколько в разных направлениях, хотя падали все под одним углом.
a у всех одинаково, а n - немного различается, поэтому различается и b в формуле sin(a)/sin(b) = n
Это расхождение позволяет как бы растянуть весь спектр в пространстве.


А вот более подробное изображение, где также видны пучки света, отражённые от внешней и внутренней поверхностей призмы.

>^.^<