[flexbox] verticaal centreren - hoogte browser

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 19:05
Hoi allen,

met flexbox is het heel makkelijk om iets verticaal te centreren.
Maak een flex-container, en centreer de inhoud door middel van:

Cascading Stylesheet:
1
2
3
4
5
.container {
    height: 400px;
    display: flex;
    align-items: center;
}


Echter, dit werkt (voor zover ik nu zie) alleen als de hoogte van de container bekend is en vast staat. In dit geval 400px.

Als je hier 100% neer zet, dan centreert hij helemaal niets meer. Iemand een idee waardoor dit komt?

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Is de container van de container wel 100% hoog? ;)

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


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 19:05
|:(

Nooit geweten dat je de height van de body tag dan ook op 100% moet zetten. 8)7

Je zou toch verwachten dat die altijd 100% is?

--edit--

En hier dan de werkende HTML en CSS.

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<!doctype html>
<html>
    <head>
        <link href="/css/reset.css" rel="stylesheet">
         <link href="/css/main.css" rel="stylesheet">
    </head>
    <body>
        <div class="container">
                    Zowel horizontaal als verticaal gecentreerd.
        </div>
    </body>
</html>


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
* { box-sizing: border-box; }

html, body { height: 100%; }

.container{
    height: 100%;
    display: flex;
    flex-direction: column;
    
    align-items: center;
    justify-content: center;
}

[ Voor 82% gewijzigd door PdeBie op 12-08-2015 11:38 ]


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
PdeBie schreef op woensdag 12 augustus 2015 @ 11:19:
Nooit geweten dat je de height van de body tag dan ook op 100% moet zetten. 8)7
Hoef je ook niet. Alle browsers die flexbox ondersteunen ondersteunen ook viewport units, dus:

Cascading Stylesheet:
1
2
3
4
5
.container {
    height: 100vh;
    display: flex;
    align-items: center;
}


en klaar.