原因有如下3点:
1、不同颜色的光的波长不同。在肉眼可见的光谱中,红光的波长最长,紫光的波长最短,橙、黄、绿、蓝、靛介于红光和紫光之间;
2、不同颜色的光在真空中传播速度相同,但进入三棱镜后传播速度不同。紫光传播速度最慢,红光传播速度最快,橙、黄、绿、蓝、靛介于红光和紫光之间;
3、玻璃对不同色光的偏折作用不同。光从空气进入某一种物质后,被折射的程度和它在这种物质中传播的速度有关,速度越慢,被折射得程度越大;七色光进入三棱镜后,紫光的传播速度最慢,偏折程度最大,因此紫光位于光谱的最下端;红光的传播速度最快,偏折程度最小,因此红光位于光谱的最上端;橙、黄、绿、蓝、靛等色光按波长的长短,依次排列在红光和紫光之间。