Display-Div-Overlay auf :schweben mit CSS3 Erleichtern-Übergänge
Habe ich das overlay in Arbeit :hover. Allerdings möchte ich hinzufügen eine Leichtigkeit-im übergang mit CSS3. Kann nicht scheinen zu finden, eine funktionierende version online.
Den code!
Also ich habe ein div enthält nur ein Bild. Wenn ich den Mauszeiger über es, es zeigt eine farbige überlagerung mit 2-text-Elemente.
<div class="item">
<img src="assets/images/blah.jpg" class="image">
<a class="overlay" href="#">
<h3 class="title">Some title</h3>
<div class="description">
<h4>Lorem ipsum dolor sit amet. consectetur adipisicing elit.</h4>
</div>
</a>
</div>
Für mein CSS, habe ich die transition-code:
.item {
position: relative;
background-color: white;
-webkit-transition: background-color 2s ease-in;
transition: background-color 2s ease-in;
}
.overlay {
background: white;
position: absolute;
display: none;
}
.item:hover .overlay{
display:block;
background-color: black;
}
Jedoch dieser übergang Effekt, es funktioniert nicht! Bitte um Hilfe!!
Muss ich ändern, den übergang zu nutzen display
oder all
?
Ich habe eine jsfiddle hat die :hover-arbeiten, nur ohne die animation.
Sehr geschätzt
Link: https://jsfiddle.net/jonahmclachlan/nwhzLu1g/2/
display
ist nicht ein transitionable Eigenschaft. Ändern Sie es ausnone
zublock
auf schweben und so wird es nie den übergang.- stackoverflow.com/a/6943704/4334348
- Danke Jungs! Das macht Sinn. Ich dachte, dass display: block war es zu töten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zum ändern der display-mit einer Deckkraft zum Beispiel, und fügen Sie die Umstellung auf das overlay, nicht auf das Element.
Sehen, dass es funktioniert:
CSS:
HTML:
visibility: hidden
wo nach wardisplay:none
, zu vermeiden, bewegen Sie den Mauszeiger auf das overlay.