In IE7, when child_of_top_1 crosses into top_2, child_of_top_1 gets cut off. Thus appear behind of top_2.
--div top_1
div child_of_top_1 with z-index = 2; position: relative/absolute
--div top_2
Solution: we need to give z-index to both top_1 and top_2
--div top_1 with z-index = 1; position: relative/absolute
--div top_2 with z-index = 0; position: relative/absolute
Remember that for z-index to work, we have to define postion: relative or position: positive