2016-05-15 7 views
3

Ich möchte meinen Text innerhalb der Flex-Elemente horizontal und vertikal zentrieren. Ich habe mich überall umgeschaut und viele Dinge ausprobiert, aber bisher scheint nichts zu funktionieren ...Mitte p vertikal und horizontal in Flex item

Könnte ich einen anderen Flexbox-Container in den vorhandenen einnisten?

html, body { 
 
    height: 100%; 
 
    margin: 0; 
 
} 
 
.flex-container { 
 
    height: 100%; 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 
.page1 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: lightblue; 
 
} 
 
#text1 { 
 
    font-size: 160%; 
 
    color: white; 
 
    font-family: roboto, sans-serif; 
 
} 
 
.page2 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: cyan; 
 
} 
 
.page3 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: lightgreen; 
 
} 
 
.page3 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: lightgreen; 
 
}
<div class="flex-container"> 
 
    <div class="page1"> 
 
    <p id="text1">blabla bla blablabla.</p> 
 
    </div> 
 
    <div class="page2"></div> 
 
    <div class="page3"></div> 
 
</div>

+1

Ja, können Sie nisten flex-Container. http://stackoverflow.com/a/33049198/3597276 –

Antwort

3

Ja, nehmen Sie die Flex-Elemente auch flex-Container wie unten zu sehen. Ich fügte auch margin: auto zu #text1 hinzu, um es zu zentrieren.

html, body { 
 
    height: 100%; 
 
    margin: 0; 
 
} 
 

 
.flex-container { 
 
    height: 100%; 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 

 
.page1 { 
 
    display: flex; 
 
    flex-direction: column; 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: lightblue; 
 
} 
 

 
#text1 { 
 
    margin: auto; 
 
    font-size: 160%; 
 
    color: white; 
 
    font-family: roboto, sans-serif; 
 
} 
 

 
.page2 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: cyan; 
 
} 
 

 
.page3 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: lightgreen; 
 
} 
 

 
.page3 { 
 
    flex-grow: 1; 
 
    min-height: 100%; 
 
    background: lightgreen; 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title> Portfolio </title> 
 
    <link rel="stylesheet" type="text/css" href="style.css"> 
 
    </head> 
 

 
    <body> 
 

 
    <div class="flex-container"> 
 

 
     <div class="page1"> 
 
     <p id="text1"> blabla bla blablabla. </p> 
 
     </div> 
 

 

 
     <div class="page2"> 
 

 
     </div> 
 

 
     <div class="page3"> 
 

 
     </div> 
 

 
    </div> 
 

 

 

 
    </body> 
 
</html>

+0

Danke für Ihre Hilfe m8. Die Lösung ist so einfach, aber ich konnte es einfach nicht herausfinden ... # Ineedabreak –

Verwandte Themen