Here is what you'll need:
1/2 cup light corn syrup
1/2 cup blue dish soap (or any blue liquid soap)
1/2 cup water
1/2 cup olive oil
1/2 cup rubbing alcohol
Red, blue and green food coloring
We used the instructions from How to Make a Liquid Rainbow by Lori Shores. We only used 1/4 cup of each ingredient, but I would recommend using 1/2 cup if you have enough of each ingredient. We are running low on olive oil. I also suggest using a funnel to add the "tilted" ingredients, because we spilled some of them down the side of the jar. Check out the book for an excellent explanation on density and follow-up questions.
You can do the first step in a mug, which would allow the recipe to use 3 mugs as suggested. Since corn syrup is so sticky, I'd just mix it in the jar, though. Pour 1/2 cup corn syrup into the jar. Stir in 1 drop each of blue and red food color. Next, slowly pour 1/2 cup blue dish soap into the jar. Pour 1/2 cup water into a mug and stir in 2 drops of green food color. Tilt the jar and slowly pour the green water along the inside of the jar. Then, slowly add 1/2 cup of olive oil into the jar. In another mug, stir 2 drops red food coloring into 1/2 cup rubbing alcohol. Tilt the jar and slowly add it.
I had a hard time capturing the rainbow on film, but it does show up in person. If you use the 1/2 cup instead of 1/4, it will also be more pronounced. This would be a great activity for a light table. We shone a flashlight through the rainbow to see the colors better.