2015-02-13 16 views
6

Próbuję umieścić cztery elementy w czterech rogach flex-container używając Flexbox i walczę. Nie mogę wymyślić, jak uzasadnić treść poszczególnych flex-items. Za każdym razem, gdy próbuję, kończy się umieszczanie całej zawartości flex-container albo w lewo albo w prawo (lub góra/dół w zależności od głównej osi).Wyrównanie elementów w rogach za pomocą Flexbox

HTML:

<div class="container"> 
    <div class="top-left"> 
     TL 
    </div> 
    <div class="top-right"> 
     TR 
    </div> 
    <div class="bottom-left"> 
     BL 
    </div> 
    <div class="bottom-right"> 
     BR 
    </div> 
</div> 

Oto mój CSS:

.container { 
    display: -webkit-flex; 
    background-color:#ccc; 
} 

.top-left { 
/* ? */ 
} 

.top-right { 

} 

.bottom-left { 

} 

.bottom-right { 

} 

Oto skrzypce, który ilustruje to, co usiłuję zrobić:

http://jsfiddle.net/JWNmZ/8/

+2

Kod w swoje pytanie proszę. Zawsze. – j08691

+0

Przepraszam za to. Dziękuję za edytowanie. Myślę, że to zrobiłem, ponieważ po prostu nie miałem żadnego kodu do dodania, byłem po prostu żałośnie zablokowany. – sma

Odpowiedz

5

Oto jedno podejście do tego (pominięte przedrostki dla jasności): http://jsfiddle.net/JWNmZ/10/

.container { 
    display: flex; 
    flex-wrap: wrap; 
    background-color:#ccc; 
} 

.top-left { 
    flex: 50%; 
} 

.top-right { 
    flex: 50%; 
    text-align: right; 
} 

.bottom-left { 
    flex: 50%; 
} 

.bottom-right { 
    flex: 50%; 
    text-align: right; 
} 
+0

Każdy element elastyczny zajmuje 50% głównej osi, a ja użyłem funkcji "flex-wrap" do przeniesienia klas '.bottom- *' do następnego wiersza. To całkiem proste, a kluczem jest użycie "flex-wrap". – Jason

+0

Ah, to jest idealne. Dziękuję Ci. – sma

+1

Zauważyłem, że to nie wyrównuje dolnych elementów do rogów przy użyciu arbitralnej wysokości. Oto drobna modyfikacja, która: http://jsfiddle.net/JWNmZ/25/ – DMan

Powiązane problemy