http://jsfiddle.net/nicktheandroid/tVHYg/animare la larghezza di un elemento da 0 a 100%, con esso ed è involucro essendo solo larga quanto hanno bisogno di essere, senza una larghezza prefissata, in CSS3 o jQuery
Quando bilico .wrapper
, è bambino l'elemento .contents
dovrebbe animare da 0px
alla sua larghezza naturale. Quindi, quando il mouse viene rimosso da .wrapper
, dovrebbe tornare a 0px
. L'elemento .wrapper
deve essere ampio solo quanto deve essere (consentendo a .contents
di crescere), quindi .wrapper
dovrebbe crescere in larghezza e ridursi in larghezza come fa .contents
. Non dovrebbe esserci alcuna larghezza impostata per .contents
. Sto usando CSS3, ma potrebbe essere realizzato in jQuery, sarebbe perfetto.
Il problema: Vedere il JSfiddle
.wrapper
non è solo così ampio come ha bisogno di essere.- quando
.contents
cresce, quando è quasi al suo larghezza, salta giù alla riga successiva - Quando si libra al largo di
.wrapper
,.contents
svanisce, quando dovrebbe animare fino a0px
.wrapper {
display: inline-block;
height: 20px;
width: auto;
padding:10px;
background:#DDD;
}
.contents {
display:inline-block;
width:0%;
white-space:nowrap;
overflow:hidden;
background:#c3c;
}
.wrapper:hover .contents {
-webkit-transition: width 1s ease-in-out;
-moz-transition: width 1s ease-in-out;
-o-transition: width 1s ease-in-out;
transition: width 1s ease-in-out;
width:100%;
}
<div class="wrapper">
<span>+</span>
<div class="contents">These are the contents of this div</div>
</div>
# 3 è facile: spostare gli stili di transizione per '.contents'. – eyelidlessness