О каком плавании вы говорите, и почему вы плаваете направо и налево?
Как и в предыдущих комментариях, я был бы склонен упростить HTML и CSS - трудно понять, что происходит, учитывая все различные правила, некоторые из которых кажутся излишними.
Для HTML вы можете использовать что-то вроде этого (на самом деле классы здесь, вероятно, должны быть идентификаторами, поскольку они являются уникальными идентификаторами):
<ul class="designDetailLinks">
<li><a href="#" class="BOM">Edit BOM</a></li>
<li><a href="#" class="editCTO">Edit CTO</a></li>
</ul>
... или даже просто поместить элементы привязки в div (хотя это может нарушить пуристы списка).
Тогда CSS может выглядеть примерно так:
<style type="text/css">
.designDetailLinks li a {
background:url(../images/icons.gif) no-repeat;
display:block;
font-size:90%; /* sensible to stick with multiples of 5 */
font-weight: bold;
padding: 26px 0 0 0;
text-align: center;
width: 40px;
}
.designDetailLinks .editCTO {
background-position: 0 -2229px;
}
.designDetailLinks .editCTO:hover {
background-position: 0 -2270px;
}
.designDetailLinks .BOM {
background-position: 0 -2313px;
}
.designDetailLinks .BOM:hover {
background-position: 0 -2313px; /* BTW: is this pixel value wrong? */
}
</style>