В Internet Explorer вторая строка оказывается захваченной изменяющейся высотой предыдущей строки. Вы можете решить это двумя способами:
1)
В вашем правиле стиля для "# three-col li" также укажите высоту:
#three-col li {
background:url("../img/bg-post-top.png") no-repeat scroll 0 0 transparent;
float:left;
height:312px;
margin:3em 20px 0 0;
overflow:hidden;
padding-top:20px;
position:relative;
width:300px;
}
2)
Вы можете добавить элемент для очистки промежутка между строками.
Я думаю, вы, возможно, уже пытались это сделать, но хороший способ сделать это:
...
</ul>
<div style="clear: both;"> </div>
<ul>
...