Вы должны сделать <a>
блок элемента и дать некоторую ширину своего родителя
#nav {
width: 100%;
overflow: hidden;
}
#nav li {
float: left;
height: 40px;
padding-left: 7px;
padding-right: 7px;
padding-top: 5px;
width: 100%;
}
#nav li a {
width: 100%;
height: 100%;
display: block
}
#nav li a:hover {
background: #0ff;
}
<ul id="nav" class="top">
<li><a href="">Home</a></li>
<li><a href=""><img src="" alt=""></a></li>
<li><a href=""><img src="" alt=""></a></li>
<li><a href=""><img src="" alt=""></a></li>
</ul>
Что это значит «предполагается делать» по вашему мнению? Этот вопрос слишком расплывчатый. – sg3s