2016-05-15 21 views
3

フレックスアイテムの内側にテキストを水平方向と垂直方向にセンタリングしたいとします。私はどこでも見ていて、多くのことを試しましたが、これまでのところ何も動作しないようです...フレックスアイテムの垂直方向と水平方向の中心点

既存のフレックスボックスコンテナの中に別のフレックスボックスコンテナを入れてもいいですか?

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

はい、あなたが巣フレックスコンテナをすることができます。 http://stackoverflow.com/a/33049198/3597276 –

答えて

3

下図のようにはい、またフレックスコンテナフレックスアイテムを作ります。私はまたそれを中心にmargin: auto#text1に追加しました。

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

ご協力ありがとうございますm8。解決策はとても単純ですが、私はそれを理解できませんでした...#Ineedabreak –

関連する問題