CSS3 transition van display:none naar display:block

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HallonRubus
  • Registratie: Mei 2011
  • Laatst online: 11-09 17:49
Ik heb voor de homepage van m'n website een soort teaser tegels gemaakt, en om het wat minder statisch te maken verschijnt er ook een plaatje zodra je over de tegel gaat met de muis. Met wat zoeken en voorbeelden aanpassen heb ik dit redelijk voor elkaar gekregen, maar de laatste hindernis krijg ik er niet uit. Het plaatje verschijnt namelijk onmiddelijk zodra je hovered, maar de animatie is dan nog lang niet klaar, waardoor je dit ziet gebeuren:
Afbeeldingslocatie: http://static.tweakers.net/ext/f/OU2kvihmPfgdtEfjIJ13FMr0/full.png

Wat ik dus eigenlijk graag wil is dat het plaatje pas verschijnt als de animatie is afgelopen, of dat het plaatje met eenzelfde animatie uitrolt naar volledige hoogte. Is dit op te lossen, bij voorkeur zonder JavaScript?

Test pagina
CSS
relevante stuk CSS;
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#teasers h2 {
    color: black;
    text-align: center;
    }
.teaser_tile {
    background-color: #EBECED;
    padding: 0.3em;
    margin-bottom: 1em;
    height: 4em;
    transition: height 0.5s; /* Animation time */
    }
.teaser_tile img {
    display: none;
    transition: height 0.5s;
    transition-delay: 0.1s;
    }

.teaser_title {
    font-weight: bold;
    color: #0C72DC;
    }
.teaser_text {
    font-size: 0.9em;
    }
#teasers a {
    font-weight: normal;
    color: black;
    }
.teaser_tile a:hover {
    font-weight: normal;
    color: black;
    }
.teaser_tile:hover > img{
    margin-top: 1em;
    display: block;
    max-width: 90%;
    }
.teaser_tile:hover {
    height: 23em;
    }


Op regel 14 en 15 heb ik al iets geprobeerd, maar dat werkt dus niet, ook niet als ik het in een wrapper div zet.

En ik test de website vooral in Chrome, dus als het nu helemaal niet werkt, probeer het aub even in Chrome :)

[ Voor 9% gewijzigd door HallonRubus op 27-06-2015 10:01 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Display kun je niet transitionen. Je kan wel dingen doen met visibility of height.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • HallonRubus
  • Registratie: Mei 2011
  • Laatst online: 11-09 17:49
NMe schreef op vrijdag 26 juni 2015 @ 21:50:
Display kun je niet transitionen. Je kan wel dingen doen met visibility of height.
Bedankt. Met visibility werkte het niet (geen verschil):

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
.teaser_tile img {
    visibility: hidden;
    transition: height 1s;
    transition-delay: 0.1s;
    }
.teaser_tile:hover > img{
    margin-top: 1em;
    visibility: visible;
    max-width: 90%;
    }


Met height werkt het wel, maar dan schaalt het plaatje in alle richtingen uit, als ik het zonder horizontale schaling wil moet ik het in een wrapper zetten neem ik aan?

Je hebt me in ieder geval weer op weg geholpen.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Die height zou je inderdaad op een container moeten zetten. Als daar ook overflow: hidden op staat dan ben je al een heel eind. Hou wel in het achterhoofd dat de height "auto" niet te transitionen valt.

[ Voor 21% gewijzigd door NMe op 26-06-2015 22:30 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
sdk16420 schreef op vrijdag 26 juni 2015 @ 22:11:
Met height werkt het wel, maar dan schaalt het plaatje in alle richtingen uit, als ik het zonder horizontale schaling wil moet ik het in een wrapper zetten neem ik aan?
Je zou hem ook uit kunnen laten vouwen, als dat acceptabel is:

Cascading Stylesheet:
1
2
3
.teaser_tile img {
    width: 90%;
}

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • HallonRubus
  • Registratie: Mei 2011
  • Laatst online: 11-09 17:49
NMe schreef op vrijdag 26 juni 2015 @ 22:29:
Die height zou je inderdaad op een container moeten zetten. Als daar ook overflow: hidden op staat dan ben je al een heel eind. Hou wel in het achterhoofd dat de height "auto" niet te transitionen valt.
Top, werkt perfect nu: http://homepage.tudelft.nl/p9t69/test/test.html

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
.teaser_tile .img_wrapper {
    height: 0px;
    width: 90%;
    transition: height 0.6s;
    overflow: hidden;
    margin: auto;
    width: 90%;
    padding-top: 1em;
    }
.teaser_tile:hover > .img_wrapper{
    height: 270px;
    }
Room42 schreef op vrijdag 26 juni 2015 @ 22:36:
[...]

Je zou hem ook uit kunnen laten vouwen, als dat acceptabel is:

Cascading Stylesheet:
1
2
3
.teaser_tile img {
    width: 90%;
}
Ik vond dat er wat minder uitzien.

[ Voor 15% gewijzigd door HallonRubus op 27-06-2015 10:02 ]


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 22:09

Damic

Tijd voor Jasmijn thee

Je img volgt niet goed als die terug inschuift.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • HallonRubus
  • Registratie: Mei 2011
  • Laatst online: 11-09 17:49
Damic schreef op zaterdag 27 juni 2015 @ 10:06:
Je img volgt niet goed als die terug inschuift.
Ja, zag het net ook, maar als ik de img transition ook op 0.5 seconde zet (net als de div) dan valt hij er iig niet buiten meer. Maar wie weet hoe je dat helemaal kunt oplossen mag het zeggen.

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 22:09

Damic

Tijd voor Jasmijn thee

Dat weet ik niet ik zien wel dat er 2x width in .teaser_tile .img_wrapper { staat

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag

Pagina: 1