Я думаю, проблема в том, что div не перекрываются, вы просто видите этот эффект. Причина, по которой это выглядит так, заключается в том, что вы установили цвет фона для элементов <li>
, которые содержат друг друга. Если вы удалите это и добавите свой фон, чтобы сказать, что дочерние элементы делятся, как это:
li div { background-color: #D3E7F5; }
Должно быть намного проще увидеть, что происходит с вашей версткой, попробуйте, я уверен, что это то, что вам нужно.