2017-11-11 125 views
1

我是flexbox的新手,並試圖理解它。我試圖將包含包含元素的div居中,但也將這些元素左對齊。如何在居中的flexbox div中左對齊元素?

我在這裏有一個codepen(https://codepen.io/anon/pen/GOWBxY),但所有元素都居中!

body { 
 
    margin: 0px; 
 
} 
 

 
.container .card { 
 
    padding: 20px 20px; 
 
    margin: 1em; 
 
    background: #ff6a6a; 
 
} 
 

 
.container { 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: flex-start; 
 
    flex-wrap: wrap; 
 
    flex-direction: row; 
 
    background: #f5f5f5; 
 
    padding: 50px 0px; 
 
    width: 100%; 
 
} 
 

 
.cardTitle { 
 
    height: 75%; 
 
} 
 

 
.card { 
 
    min-height: 8em; 
 
    width: 25%; 
 
    box-shadow: 0 0 1em #ccc; 
 
}
<div class="container"> 
 
    <div class="card"> 
 
    <div class="cardTitle">Hi</div> 
 
    </div> 
 
    <div class="card"> 
 
    <div class="cardTitle">Hi</div> 
 
    </div> 
 
    <div class="card"> 
 
    <div class="cardTitle">Hi</div> 
 
    </div> 
 
    <div class="card"> 
 
    <div class="cardTitle">Hi</div> 
 
    </div> 
 
    <div class="card"> 
 
    <div class="cardTitle">Hi</div> 
 
    </div> 
 
</div>

+1

只是評論:.container {justify-content:center;} – VXp

回答

1

justify-content用於證明其元素,而不是元素本身。

所以@VXp已經說過了,您可以將其註釋掉justify-content: center,因爲justify-content: flex-start已經是默認值。

另外,如果你想居中.container

  1. 添加margin: 0 auto

  2. 或者你可以給display: flexjustify-content: center到你的情況body父元素。

雖然你的.container不會似乎因爲它的width價值爲中心,爲100%。

+1

我試過你的指示,它沒有居中(https://codepen.io/anon/pen/xPqaRz)。 @jyoon –