Non transizione la larghezza e l'altezza. Mantieni la stessa larghezza e altezza e cambia solo il bordo della tua cerchia esterna.
Per la cerchia interna (.circle), impostare un bordo bianco di 12 pixel su #ffffff. Ora è sempre nello stesso posto rispetto al cerchio esterno, e ora non dovrà cambiare dimensione. Inoltre, il titolo non può saltare perché è sempre nella stessa posizione.
Per il cerchio esterno, quando non è al passaggio del mouse, assicurarsi che abbia le stesse dimensioni e il bordo di quando è, ma rendere il bordo bianco, 5 px solido #ffffff.
Penso che si possa anche eliminare un sacco di posizioni aggiuntive.
Qui è una versione modificata jsFiddle in modo da poter dare uno sguardo, e qui sta il CSS modificato:
.box {
position: relative;
width: 220px;
height: 220px;
float: left;
margin-right: 50px;
text-align: center;
}
.clearcircle {
width: 225px;
height:225px;
border-radius: 100%;
background-color: transparent;
border: 5px solid #ffffff;
transition: all .2s ease-in-out;
}
.clearcircle:hover {
border: 5px solid #c0392b;
}
.circle {
width: 200px;
height:200px;
border: 12px solid #ffffff;
border-radius: 100%;
background-color: #e74c3c;
overflow: hidden;
transition: all .2s ease-in-out;
}
.circle p {
position:relative;
text-align: center;
color: white;
transition: all .3s;
}
.circle:hover{
background-color: #e97468;
}
Per inciso, mettendo un div o un p nel un tag rompe il tag per XHTML convalidato. Potresti invece voler usare un div, con un'azione "on-click" che lo fa comportare come un link.
parente di posizione sembra chiarire un po '. ma devi rifare tutto il css. ho un po 'tritato ed è stato in grado di far sparire il jitter ma ha completamente cambiato la funzionalità. –
ha giocato anche con esso, ma c'è ancora jitter: http://jsfiddle.net/enBMC/7/ – Alp
sì ... sembra che stia accadendo a causa della proprietà di transizione non è in modo uniforme lo spostamento di tutte le altre proprietà contemporaneamente. – David