When dealing with columns of equal size (.col-*-12), a common query arises regarding the feasibility of changing their order using Bootstrap's push and pull directives. The purpose of this query is to understand if it's possible to reverse the placement of two such columns on devices with mobile screen sizes.
Unfortunately, it's not possible to reorder .col-*-12 columns using push and pull classes. This is due to the fact that the sum of these columns exceeds the predefined grid size of 12 columns, as specified by the @grid-columns variable in Bootstrap.
To achieve the desired reordering, consider the following alternatives:
1. Modifying HTML Structure and Using Push/Pull for Larger Screens:
Rearrange the columns within the HTML and apply push/pull classes to achieve the desired order on larger screens. For instance:
<code class="html"><div class="row"> <div class="col-xs-12 col-sm-6 col-sm-push-6"> <p>test2</p> </div> <div class="col-xs-12 col-sm-6 col-sm-pull-6"> <p>test1</p> </div> </div></code>
2. Using CSS Transforms to Reverse Column Order on Mobile:
Apply the following CSS to reverse the ordering of vertically stacked columns on devices with a screen size of 767px or less:
<code class="css">@media (max-width: 767px) { .row.reorder-xs { transform: rotate(180deg); direction: rtl; /* Fix horizontal alignment */ } .row.reorder-xs > [class*="col-"] { transform: rotate(-180deg); direction: ltr; /* Fix horizontal alignment */ } }</code>
Note that this approach requires the use of HTML class specific to the desired columns to be reordered.
The above is the detailed content of Can Bootstrap\'s Push/Pull Classes Reorder Equal-Sized Columns on Mobile Devices?. For more information, please follow other related articles on the PHP Chinese website!