Css-Übergang auf hover für Kind-element

Im Versuch zum anhalten der Anzeige von einem Kind-element, wenn es ein Elternteil ist mit der Maus auf.

Html:

<span>
    <div>This Is The Child</div>
    Some Text in the span
</span>

Css:

span { 
    position: relative; 
}
span div { 
    display: none;
    width: 0px;
    opacity: 0;

    transition: width 5s;
    -webkit-transition: width 5s;

    transition: opacity 5s;
    -webkit-transition: opacity 5s;
}
span:hover div {
    display: inline-block;
    width: 150px;
    opacity: 1;
}​

Als jetzt, wenn die Spanne schwebte, das div hat keine Verzögerung, bevor es gezeigt wird. Wie würde ich mich über es zu beheben, so gibt es eine pause?

Fiddle hier: http://jsfiddle.net/SReject/vmvdK/

Ein paar Hinweise:

Ich ursprünglich versucht, um den übergang des display, aber als Edward wies darauf hin, dass nicht möglich ist, und haben Sinn versucht, die oben, die auch nicht funktioniert

GELÖST

Scheint es, dass jede "anzeigen" - Eigenschaft in der "übergang zu" styling wird stop-übergangs-Animationen zu verhindern. Um dies zu umgehen. Ich habe die Breite des Kindes angezeigt werden 0px und haben es vollständig transparent sein. Dann in die "übergang" - styling, habe ich die richtige Breite, und machen die div solid:

Html:

<span>
    <div>This Is The Child</div>
    Some Text in the span
</span>

Css:

span { 
    position: relative; 
}
span div { 
    position: absolute;

    width: 0px;
    opacity: 0;
    transition: opacity 5s;
    -webkit-transition: opacity 5s;
}
span:hover div {
    width: 150px;
    opacity: 1;
}​

Fiddle hier: http://jsfiddle.net/SReject/vmvdK/

  • warum nicht die andere Weise herum <div><span>This Is The Child</span>Some Text in the DIV</div>? ... es ist mehr semantisch korrekt.
  • Es ist für ein GM-script, die Spanne ist von der Seite erstellt der GM-Skript ändert. Ich will einen hover-Menü für die angezeigten span
InformationsquelleAutor SReject | 2012-07-14
Schreibe einen Kommentar