For the same reason that a soap bubble appears iridescent: a very thin film interface between materials with very different refractive indices. In the case of a soap bubble it’s mostly water, with the interface between water and air. In the case of an oil slick the oil naturally spreads out into the thinnest possible layer on top of the water.
Latest Answers