Anch'io stavo affrontando lo stesso problema. Funziona la correzione menzionata da Wesley Murch! ad esempio aggiungendo un bordo trasparente attorno all'elemento da sospendere.
Avevo un ul su cui: hover è stato aggiunto a ogni li. Ogni volta, aleggiavo su ogni elemento della lista, anche gli elementi contenuti all'interno erano mossi.
Ecco il codice rilevante:
html
<ul>
<li class="connectionsListItem" id="connectionsListItem-0">
<div class="listItemContentDiv" id="listItemContentDiv-0">
<span class="connectionIconSpan"></span>
<div class="connectListAnchorDiv">
<a href="../test/1.html" class="homeConnectionListanchor" id="leftTabConnectionListAnchor-0">Test1</a>
</div>
</div>
</li>
</ul>
css
.listItemContentDiv
{
display: inline-block;
padding: 8px;
right: 0;
text-align: left;
text-decoration: none;
text-indent: 0;
}
.connectionIconSpan
{
background-image: url("../images/connection4.png");
background-position: 100% 50%;
background-repeat: no-repeat;
cursor: pointer;
padding-right: 0;
background-color: transparent;
border: medium none;
clear: both;
float: left;
height: 32px;
width: 32px;
}
.connectListAnchorDiv
{
float: right;
margin-top: 4px;
}
La defn hover su ogni elemento della lista:
.connectionsListItem:hover
{
background-color: #F0F0F0;
background-image: linear-gradient(#E7E7E7, #E7E7E7 38%, #D7D7D7);
box-shadow: none;
text-shadow: none;
border-radius: 10px 10px 10px 10px;
border-color: #AAAAAA;
border-style: solid;
}
Il codice di cui sopra utilizzato per fare il cont gli elementi aining cambiano, ogni volta che mi librano su connectionsListItem. La correzione è stata aggiunta al css come:
.connectionsListItem
{
border:1px solid transparent;
}
fonte
2013-06-22 04:08:58
conta bordi per dimensionare, quindi se si aggiunge un bordo 1px, è necessario ridurre l'altezza/larghezza da 1px per compensare. –