Twitter BootstrapのFluid Layoutのsidebarとcontentを逆に表示する
こんにちは.
Twitter Bootstrap, 便利ですよね!
この前,Fluid Layoutを使おうとして,sidebarとcontentを逆に表示したくなりました.
その方法をメモっときます. Bootstrapのバージョンは4.0です.
こんなかんじでHTMLを書くと
<!DOCTYPE HTML> <html lang="jp"> <head> <meta charset="UTF-8"> <meta http-equiv="name" content="content"> <link rel="stylesheet" type="text/css" href="bootstrap1.4.0/bootstrap.css" /> <link rel="stylesheet" href="css/bootstrap-test.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script> <title>Bootstrap test</title> </head> <body> <div class="container-fluid"> <div class="sidebar"> <div class="well"> <h5>Sidebar</h5> </div> </div> <div class="content"> <div class="hero-unit"> <h1>Content</h1> </div> </div> </div> </body> </html>
これのsidebarとcontentを逆に表示する場合は,こんなかんじのCSSを書く(通常は上にバーを表示したりするのでその分の領域を確保するためにパディングを加えています).
body { padding-top: 60px; } .container-fluid > .sidebar { left: auto; right: 20px; } .container-fluid > .content { margin-left: 0px; margin-right: 240px; }
注意! このCSSでうまくいくのはバージョン4.0です. 3.0では上手くいきません. なぜかというと3.0と4.0でレイアウトの実現方法が異なっているからです. バージョン3.0ではfloat, 4.0ではpositionを利用しています.
まー・・・こんなことするなら,CSSテンプレートなんて使わずに最初から書けっていう(ry