Şöyle örnekteki gibi bir şey nasıl yapılabilir?

3 adet div objesi olduğunu düşünün yada resim.
Şöyle birşey istiyorum.
Kırmızı divin, turuncu divin altında kalan kısmı gizlensin. Turuncu üstte kalsın.
Yeşil divinse turuncu divin altında kalan kısmı gizlenmesin, turuncu divin üzerine çıksın.
Fakat bunu yaparken z-index kullanamıyorum.
Çünkü yeşile 3, turuncuya 2 verirsem, yeşil bu seferde kırmızının üzerine çıkıyor.
Yeşil kırmızının altında, turuncunun üstünde olmalı.
Turuncu kırmızının üstünde ama yeşilin altında olmalı.
Bunu nasıl başarabilirim?