Załaduj prawą kolumnę na górze w widoku mobilnym


171

Mam taką stronę Bootstrap:

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

Wygląda jak:

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

Więc jeśli spojrzę na to na urządzeniu mobilnym, kolumna A jest na górze, ale chcę, aby B na górze. czy to możliwe? Spróbowałem z popchnięciem i pociągnięciem, ale nie zadziałało.


2
Dla Bootstrap 4 patrz odpowiedź salmanhijazi
— schnawel007

Odpowiedzi:


268

Aby to osiągnąć, użyj kolejności kolumn .

col-md-push-6"popchnie" kolumnę w prawo 6 i col-md-pull-6"pociągnie" kolumnę w lewo na "md" lub nowszych portach widoku. Na wszystkich mniejszych portach widoku kolumny będą ponownie w normalnej kolejności.

Myślę, że to, co rzuca się ludziom, że trzeba umieścić B powyżej w kodzie HTML . Może istnieć inny sposób, aby to zrobić, gdzie A może przejść nad B w HTML, ale nie jestem pewien, jak to zrobić ...

PRÓBNY

<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>

widok-port> = md

|A|B|

port widoku <md

|B|
|A|

6
@JackTheKnife Spójrz na inną odpowiedź na to pytanie ... popychasz lub ciągniesz kolumnę o szerokość drugiej kolumny.
— Schmalzy

1
@Schmalzy O yeah - inna odpowiedź ma lepsze wyjaśnienie. Okazało się również przydatne: scotch.io/tutorials/reorder-css-columns-using-bootstrap
— JackTheKnife

1
Mam problem z trzema kolumnami, w których kolejność na stosie powinna być środkowa, lewa, prawa.
— Goose

78

Warto zauważyć, że jeśli używasz kolumn, które nie są równe 6, kwota wypychania nie będzie równa początkowemu rozmiarowi kolumny.

Jeśli masz dwie kolumny (A i B) i chcesz, aby kolumna A była mniejsza i znajdowała się po prawej stronie w rzutniach „sm” lub większych, ale na szczycie rzutni mobilnej (xs), możesz użyć następującego:

<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>

W przeciwnym razie wyrównanie kolumn będzie wyłączone.


Jak mogę w tym użyć, gdy ustawiłem offset<div class="col-md-4 col-md-offset-1"></div><div class="col-md-6 col-md-offset-1"></div>
— Muddasir Abbas

29

Kierunek Flexbox

W przypadku Bootstrap 4 zastosuj jedną z poniższych czynności do elementu div .row:

.flex-row-reverse

Elastyczne ustawienia:

.flex-sm-row-reverse
.flex-md-row-reverse
.flex-lg-row-reverse
.flex-xl-row-reverse

masz jakiś pomysł, jak osiągnąć to samo w weryfikacji?
— Rakibul Haq

10

Poniższy kod działa dla mnie

.row {
    display: flex;
    flex-direction: column-reverse;
}

10

Załóżmy, że w Bootstrap 4 chcesz mieć jedno zamówienie na duże ekrany i inną kolejność na mniejsze ekrany:

<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>

Możesz pominąć order-1i order-2powyżej. Dodano tylko dla jasności. Kolejność domyślna to kolejność, w jakiej kolumny pojawiają się w html.

Aby uzyskać więcej informacji, https://getbootstrap.com/docs/4.1/layout/grid/#reordering



4

Mam trzy kolumny bootstrap 4 o różnych rozmiarach. W miarę zmniejszania się ekranu trzecia kolumna jest ukrywana, a gdy ekran staje się jeszcze mniejszy, a elementy div są ułożone w stos, kolejność zmienia się tak, że kolumna 2 jest na górze.

    <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>

Mam nadzieję, że to pomoże. Trudno mi było to zrozumieć, ale w końcu dotarłem tam z pomocą tego wątku, ale było to trochę chybione.


3

To zadziałało dla mnie w 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>



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.