2013-02-20 17 views
11

Mam 4 kolumny płynu-układ:4 kolumn do 2 kolumny z Twitter Bootstrap

<div class="container-fluid"> 
    <div class="row-fluid"> 
     <div class="span3">A</div> 
     <div class="span3">B</div> 
     <div class="span3">C</div> 
     <div class="span3">D</div> 
    </div> 
</div> 

[ A ][ B ][ C ][ D ] 

dla urządzeń mobilnych, bootstrap renderuje kolumnach jeden pod drugim, który działa dobrze:

[   A    ] 
[   B    ] 
[   C    ] 
[   D    ] 

Ale dla tabletów, chciałbym mieć 2 kolumny z 2:

[  A  ][  B  ] 
[  C  ][  D  ] 

Czy to możliwe osiągnąć to zachowanie natywnie z boo tstrap?

+1

Nie ma taka funkcjonalność dostępna natywnie, AFAIK. – Pavlo

+0

Tak, nie w sposób natywny. Zrobiłem to sam, zastępując niektóre z CSS Bootstrapa. Czy byłbyś zainteresowany widząc go? – frostyterrier

+0

OK, tak właśnie myślałem :(I tak, jestem ciekawa, jak to zrobiłeś. :) – Emilie

Odpowiedz

6

Dowiedziałem się, że Fundacja Zurb (http://foundation.zurb.com/docs/grid.php#threeBlockEx) oferuje tę fonctionality, ale chcę kontynuować z Twitter Bootstrap. Udało mi się więc dodać niestandardową regułę opartą na technice używanej przez Fundację:

@media (min-width: 768px) and (max-width: 979px) { 
    .row-fluid > [class*=span]:nth-child(2n+1) { 
     clear: both; 
     margin-left: 0; 
    } 
} 
1

Musisz po prostu zastąpić CSS dla przęseł w zapytaniu @media odpowiadającym tabletom.

Więc można spróbować czegoś takiego:

// Tablets & small desktops only 
@media (min-width: 768px) and (max-width: 979px) { 
    [class*=span] { 
    width: 50%; 
    } 
} 

oczywiście korekty konieczne może być wykonane. Z powodu wypełnienia i marginesów szerokość może w rzeczywistości nie wynosić 50%.

0

Hmm. Próbowałem obu tych reguł w moim CSS i żadne z nich nie działało dla mnie. Szkoda, że ​​tego nie ma w BS 2.0. Mam nadzieję, że dodadzą go w BS 3.0!

Dzięki,

JK

4

Dodawanie do odpowiedzi Emilie trzeba też zresetować szerokości kolumn,

@media (min-width: 768px) and (max-width: 979px) { 
    .row-fluid > [class*=span]:nth-child(2n+1) { 
     clear: both; 
     margin-left: 0; 
    } 

    .row-fluid .span3 { 
     width: 48.61878453038674%; 
    } 
} 
+0

Działa idealnie! Ale nie rób tego samego błędu, co ja - zapomnij dołączyć arkusz stylów po bootstrapie css - i zaoszczędź sobie kilka godzin :) – Nurp