2016-01-18 13 views
5

Ich habe ein Bootstrap zwei Spaltenlayout, das auf schmalen Bildschirmen zu einem zusammenfaltet.Wie können Divs in einer anderen Reihenfolge angezeigt werden, abhängig von der Bildschirmgröße in Bootstrap 3?

Bad ASCII art:

+-------------------+-------------------+ 
| Div A   | Div B1   | 
|     +-------------------+ 
|     | Div B2   | 
|     +-------------------+ 
|     | Div B3   | 
+-------------------+-------------------+ 

zusammenzubrechen

+-------------------| 
| Div B1   | 
+-------------------+ 
| Div B2   | 
+-------------------+ 
| Div B3   | 
+-------------------+ 
| Div A   | 
|     | 
|     | 
|     | 
|     | 
+-------------------+ 

A hat Klasse col-md-6, B1-B3 sind in einem div B mit Klasse col-md enthalten -6 col-md-push-6. Das funktioniert ganz gut, aber das Layout wäre noch schöner als das

+-------------------| 
| Div B1   | 
+-------------------+ 
| Div A   | 
|     | 
|     | 
|     | 
|     | 
+-------------------+ 
| Div B2   | 
+-------------------+ 
| Div B3   | 
+-------------------+ 

Ist das mit angemessenen Mengen an Code erreichbar?

+0

Nein, das ist nicht etwas (die divs ...), das kann leicht gemacht werden. – Tewdyn

+0

Können Sie das Framework von HTML und CSS, das Sie haben, einbeziehen? Das ist nützlicher als eine ASCII-Illustration. – TylerH

+0

@TylerH col-md-6 ist eine Bootstrap-Framework-Klasse. Ich stimme zu, dass er sein HTML und CSS einfügen musste, aber da es architektonisch falsch gemacht wurde, hätte es nichts ausgemacht;) – LOTUSMS

Antwort

5

Es macht mehr Sinn, wenn Sie es über das Denken entwerfen, was wie auf mobilen ersten aussehen wird. Ein einfaches Pull-rechts und Pull-links und die richtigen Klassen und Architektur und Sie haben keine Medien-Hacks zu verwenden.

Haftungsausschluss: Seien Sie vorsichtig, da der einzige Nachteil ist die Tab-Reihenfolge zu verlieren A1- B1- B2- B3;)

siehe Code

<div class="container"> 
    <div class="col-xs-12 col-md-6 pull-right"> 
     <div class="box">B1</div> 
    </div> 
    <div class="col-xs-12 col-md-6 pull-left"> 
     <div class="box a1">A1</div> 
    </div> 
    <div class="col-xs-12 col-md-6"> 
     <div class="box">B2</div> 
    </div> 
    <div class="col-xs-12 col-md-6"> 
     <div class="box">B3</div> 
    </div> 
</div> 

CSS (dies nur für Demo Verschönerungs und Unterscheidung von Boxen. Sie pflegen müssen diese mit Ausnahme des Reset-no-padding)

.container div{ 
    padding:0; 
} 
.box{ 
    background:red; 
    height:40px; 
    color:#fff; 
    padding:10px; 
    text-align:center; 
    border:1px solid #111; 
} 
.box.a1{ 
    background:blue; 
    height:120px; 
} 

die demo

anzeigen 0
+0

Sehr ordentlich, danke! Die Auswirkung auf meinen Code ist in der Tat begrenzt. –

Verwandte Themen