Bulma: Change stack order of columns

15,359

Solution 1

As of the current bulma version v0.3.1, there is no feature for the changing the order of columns.

However, you can define custom styles to change the order for mobile, tablet or whatever resolution that you want.

You can define a custom class .reverse-columns for example and add it on parent with following styles:

@media(max-width: 767px) { /* <== You can change this break point as per your  needs */
  .reverse-columns {
    flex-direction: column-reverse;
    display: flex;
  }
}

@import url("https://cdnjs.cloudflare.com/ajax/libs/bulma/0.3.1/css/bulma.css");

@media(max-width: 767px) {
  .custom-columns {
    flex-direction: column-reverse;
    display: flex;
  }
}
<div class="columns custom-columns">
  <div class="column box">
    1
  </div>
  <div class="column box">
    2
  </div>
</div>

Solution 2

@media(max-width: $desktop) {
  .columns.is-reversed-touch {
    flex-direction: column-reverse;
    display: flex;
  }
}

@media(max-width: $tablet) {
  .columns.is-reversed-mobile {
    flex-direction: column-reverse;
    display: flex;
  }
}

You can always add more rules for widescreen etc., but this is what you usually need.

flex-direction: row-reverse; is what I would use for .columns.is-mobile.is-reversed-mobile. So you can add that rule too.

Share:
15,359

Related videos on Youtube

shigg
Author by

shigg

Updated on August 21, 2020

Comments

  • shigg
    shigg over 3 years

    How can I change the stack order of columns on mobile or tablet?

    For example, the code below shows elements horizontally on wide screens, but when it's shrinked I want 2 to be on top. I don't want to change the html structure to do it.

    The example is below:

    <link href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.3.1/css/bulma.css" rel="stylesheet"/>
    <div class="columns">
      <div class="column box">
        1
      </div>
      <div class="column box">
        2
      </div>
    </div>
    • Obsidian Age
      Obsidian Age over 7 years
      Have you tried this?
    • shigg
      shigg over 7 years
      Thanks for the link but,I don't want to change a html structure to do it.
  • Tom Mulkins
    Tom Mulkins about 5 years
    There's also a handy variable if using Sass you can access called $tablet for breakpoint widths. This variable and other ones for responsiveness can be found in initial-variables.sass.
  • JessycaFrederick
    JessycaFrederick about 4 years
    This is the right idea, but when I used "column-reverse" it didn't work. I found "row-reverse" works instead. Learned this here: github.com/jgthms/bulma/issues/475
  • dylzee
    dylzee over 3 years
    very nice answer