Bootstrap rechts Spalte oben in der mobilen Ansicht

171

Ich habe eine Bootstrap-Seite wie diese:

<div class="row">
    <div class="col-md-6">
        A
    </div>
    <div class="col-md-6">
       B
    </div>
</div>

Sieht aus wie:

-----
|A|B|
-----

Wenn ich es mir also auf einem mobilen Gerät ansehe, befindet sich die Spalte A oben, aber ich möchte das B oben. Ist das möglich? Ich habe es mit Push-and-Pull versucht, aber es hat nicht funktioniert.

schnawel007
quelle
2
Für Bootstrap 4 siehe Antwort von salmanhijazi
schnawel007

Antworten:

268

Verwenden Sie die Reihenfolge der Spalten , dies zu erreichen.

col-md-push-6"schiebt" die Spalte nach rechts 6 und col-md-pull-6"zieht" die Spalte nach links auf "md" oder größeren Ansichtsöffnungen. Bei kleineren Ansichtsfenstern sind die Spalten wieder in normaler Reihenfolge.

Ich denke, was die Leute abschreckt, ist, dass Sie B über A in Ihrem HTML setzen müssen . Es kann einen anderen Weg geben, dies zu tun, bei dem A im HTML über B gehen kann, aber ich bin mir nicht sicher, wie ich es tun soll ...

DEMO

<div class="row">
  <div class="col-md-6 col-md-push-6">B</div>
  <div class="col-md-6 col-md-pull-6">A</div>
</div>

Ansichtsfenster> = md

|A|B|

Ansichtsfenster <md

|B|
|A|
Schmalzy
quelle
6
@JackTheKnife Schauen Sie sich die andere Antwort auf diese Frage an ... Sie drücken oder ziehen eine Spalte um die Breite der anderen Spalte.
Schmalzy
1
@Sonnellzy O ja - andere Antworten haben eine bessere Erklärung. Auch fand das nützlich: scotch.io/tutorials/reorder-css-columns-using-bootstrap
JackTheKnife
1
Probleme mit drei Spalten, bei denen die Stapelreihenfolge in der Mitte, links und rechts liegen sollte.
Gans
78

Wenn Sie Spalten verwenden, die nicht beide gleich 6 sind, entspricht der Push-Betrag nicht der anfänglichen Spaltengröße.

Wenn Sie 2 Spalten (A & B) haben und möchten, dass Spalte A in "sm" - oder größeren Ansichtsfenstern kleiner und rechts ist, sich jedoch auf einem mobilen (xs) Ansichtsfenster befindet, verwenden Sie Folgendes:

<div class="row">
    <div class="col-sm-4 col-sm-push-8">A</div>
    <div class="col-sm-8 col-sm-pull-4">B</div>
</div>

Andernfalls wird die Ausrichtung der Spalten deaktiviert.

Apritch
quelle
Wie kann ich dies verwenden, wenn ich Offset eingestellt habe<div class="col-md-4 col-md-offset-1"></div><div class="col-md-6 col-md-offset-1"></div>
Muddasir Abbas
29

Flexbox-Richtung

Wenden Sie für Bootstrap 4 eine der folgenden Optionen auf Ihre .row div an:

.flex-row-reverse

Für reaktionsschnelle Einstellungen:

.flex-sm-row-reverse
.flex-md-row-reverse
.flex-lg-row-reverse
.flex-xl-row-reverse
salmanhijazi
quelle
Irgendeine Idee, wie man dasselbe in vuetify erreicht?
Rakibul Haq
10

Der folgende Code funktioniert für mich

.row {
    display: flex;
    flex-direction: column-reverse;
}
Schwert I.
quelle
10

Angenommen, Sie möchten in Bootstrap 4 eine Reihenfolge für große Bildschirme und eine andere Reihenfolge für kleinere Bildschirme haben:

<div class="container">
  <div class="row">
    <div class="col-6 order-1 order-lg-2">
      This column will be ordered second on large to extra large screens
    </div>
    <div class="col-6 order-2 order-lg-1">
      This column will be ordered first on large to extra large screens
    </div>
  </div>
</div>

Sie können order-1und order-2darüber weglassen . Nur zur Klarheit hinzugefügt. Die Standardreihenfolge ist die Reihenfolge, in der die Spalten im HTML-Code angezeigt werden.

Weitere Informationen finden Sie unter https://getbootstrap.com/docs/4.1/layout/grid/#reordering

Abram
quelle
4

Ich habe drei Bootstrap 4 Spalten unterschiedlicher Größe. Wenn der Bildschirm kleiner wird, wird die dritte Spalte ausgeblendet. Wenn der Bildschirm noch kleiner wird und die Divs gestapelt sind, ändert sich die Reihenfolge, sodass Spalte 2 oben steht.

    <div class="col-xs-12 col-sm-4 col-md-3 order-2 order-sm-1">
        <h3>LEFT HAND SECTION</h3>
        <p>For news, links photos or comments.</p>
    </div>
    <div class="col-xs-12 col-sm-8 col-md-5 order-1 order-sm-2">
        <h3>MAIN SECTION</h3>
        <p>The main content for the page.</p>
    </div>
    <div class="col-xs-12 col-md-4 d-none d-md-block order-last">
        <h3>BLANK SECTION</h3>
        <p>Will usually just be blank.</p>
    </div>

Ich hoffe das hilft. Ich fand es schwierig, das zu verstehen, kam aber mit Hilfe dieses Threads endlich dahin, aber es war ein bisschen ein Hit und Miss.

M61Vulcan
quelle
3

Dies funktionierte für mich auf Bootstrap 4:

<div class="container-fluid">
  <div class="row">
    <div class="col-md-4 order-md-last">
      <%= render 'form'%>
    </div>
    <div class="col-md-8 order-md-first">
      CONTENT
    </div>
  </div>
</div>
Grab
quelle
2

Ich benutzte:

.row {
   display: flex;
   flex-direction: row-reverse;
}
Eric Conner
quelle