2016-06-26 2 views
3

フレックスボックスの例に従うようにしていましたが、この問題に対してラインハイトが機能していません。フレックスアイテムで縦と横にテキストをセンタリングする

テキストは垂直方向にセンタリングする必要がありますが、そうではありません。それは上部のみが水平に中央に置かれたままです。

コードスニペットではうまく機能しているようですが、これが奇妙なことを証明するために、私が見ているものの写真を与えます。

私はChromeとIEの両方でこれをテストしましたが、垂直にセンタリングしていません。

スニペットのサイズを変更しましたが、それはできません。

enter image description here

.flex-container { 
 
    display: flex; 
 
    flex-flow: row wrap; 
 
    justify-content: space-around; 
 
    padding: 0; 
 
    margin: 0; 
 
    list-style: none; 
 
    display: -webkit-box; 
 
    display: moz-box; 
 
    display: -ms-flexbox; 
 
    display: -webkit-flex; 
 
    -webkit-flex-flow: row wrap; 
 
} 
 
.flex-item { 
 
    background: tomato; 
 
    padding: 5px; 
 
    width: 50px; 
 
    height: 50px; 
 
    margin-top: 10px line-height: 50px; 
 
    color: white; 
 
    font-weight: bold; 
 
    font-size: 3em; 
 
    text-align: center; 
 
}
<ul class="flex-container"> 
 
    <li class="flex-item">1</li> 
 
    <li class="flex-item">2</li> 
 
    <li class="flex-item">3</li> 
 
    <li class="flex-item">4</li> 
 
    <li class="flex-item">5</li> 
 
    <li class="flex-item">6</li> 
 
</ul>

+2

閉じる 'マージントップを非アクティブにするフレックスアイテム、マージントップ後:10px' – Erevald

+0

申し訳ありませんが.... 私は、テキストを垂直方向と水平方向中心になりたい:/ Iそれを達成するためにラインハイトを使用しようとしていただけです もう1人の男はすでにそれに答えました –

+0

@シンジサン、それは 'line-height'を中心にする必要がありますか?あなたがフレックスボックスを使用しているので、垂直方向と水平方向に集中できるflexプロパティがあります。 –

答えて

2

垂直方向と水平方向にそれぞれフレックス項目内のテキストを中央揃え、あなたのコードにこの調整を行います。

.flex-container { 
 
    display: flex; 
 
    flex-flow: row wrap; 
 
    justify-content: space-around; 
 
    padding: 0; 
 
    margin: 0; 
 
    list-style: none; 
 
    display: -webkit-box; 
 
    display: moz-box; 
 
    display: -ms-flexbox; 
 
    display: -webkit-flex; 
 
    -webkit-flex-flow: row wrap; 
 
} 
 
.flex-item { 
 
    display: flex;    /* create nested flex container */ 
 
    justify-content: center;  /* center text horizontally */ 
 
    align-items: center;   /* center text vertically */ 
 
    background: tomato; 
 
    padding: 5px; 
 
    width: 50px; 
 
    height: 50px; 
 
    color: white; 
 
    font-weight: bold; 
 
    font-size: 3em; 
 
}
<ul class="flex-container"> 
 
    <li class="flex-item">1</li> 
 
    <li class="flex-item">2</li> 
 
    <li class="flex-item">3</li> 
 
    <li class="flex-item">4</li> 
 
    <li class="flex-item">5</li> 
 
    <li class="flex-item">6</li> 
 
</ul>

詳しくはFlexbox: center horizontally and vertically

0

あなたは ";"行の高さが

関連する問題