モバイルレイアウトで Bootstrap 3 の列順序を変更するにはどうすればよいですか? 質問する

モバイルレイアウトで Bootstrap 3 の列順序を変更するにはどうすればよいですか? 質問する

私は上部に固定されたナビゲーションバーを備えたレスポンシブレイアウトを作成しています。その下に2つの列があり、1つはサイドバー用(3)、もう1つはコンテンツ用(9)です。デスクトップでは次のようになります。

ナビゲーションバー
[3][9]

resizeモバイルでは、コンテンツnavbarが圧縮されて非表示になり、サイドバーが次のようにコンテンツの上に重ねて表示されます。

ナビゲーションバー
[3]
[9]

メインコンテンツを一番上に表示したいので、モバイルでの順序を次のように変更する必要があります。

ナビゲーションバー
[9]
[3]

私は見つけたこの記事同じ点をカバーしていますが、受け入れられた回答は、解決策が現在のバージョンの Bootstrap には適用されないと編集されています。

モバイルでこれらの列を並べ替えるにはどうすればよいでしょうか? あるいは、拡張ナビゲーション バーに sidbar リスト グループを配置するにはどうすればよいでしょうか?

これが私のコードです:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="navbar navbar-inverse navbar-static-top">
  <div class="container">
    <a href="#" class="navbar-brand">Brand Title</a>
    <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
    <div class="collapse navbar-collapse navHeaderCollapse">

    <ul class="nav navbar-nav navbar-right"><!--original navbar-->
      <li class="active"><a href="#">Home</a></li>
      <li><a href="#">FAQ</a></li>
    </ul>

    </div>
  </div>
</div><!--End Navbar Div-->
    <div class="container">
  <div class="row">

    <div class="col-lg-3">
  <div class="list-group">
    <a href="#" class="list-group-item">
    <h4 class="list-group-item-heading">Lorem ipsum</h4>
    <p class="list-group-item-text">Lorem Ipsum is simply dummy text.</p></a>
  </div>
</div><!--end sidebar-->


<div class="col-lg-9">
  <div class="panel panel-default">
    <div class="panel-body">
      <div class="page-header">
     Main Content
    </div>
  </div>
</div><!--end main content area-->

ベストアンサー1

小さい画面では列の順序を変更できませんが、大きい画面では変更できます。

したがって、列の順序を変更します。

<!--Main Content-->
<div class="col-lg-9 col-lg-push-3">
</div>

<!--Sidebar-->
<div class="col-lg-3 col-lg-pull-9">
</div>

デフォルトでは、メインコンテンツが最初に表示されます。

そのため、モバイルではメインコンテンツが最初に表示されます。

とを使用するとcol-lg-pushcol-lg-pull大きな画面で列を並べ替え、左側にサイドバー、右側にメインコンテンツを表示できます。

働くここでフィドル

おすすめ記事