You will need to copy most of the boot css and add some class prefixes
I will use the simple names portrait
and landscape
instead of embed-responsive
and embed-responsive-16by9
therefore .col-md-6
, for example, becomes .portrait .portrait-col-md-6
and .landscape .landscape-col-md-6
A grid is nothing more than a few percentages and media queries.
So. Return:
Copy all system grid classes.
insert grid classes. copy every single class after comma
Prefix of the originals .landscape-
Prefix inserted into .portrait-
What it looks like:
Original bootstrap.css
.col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; }
modified bootstrap.css
.portrait .portrait .portrait-col-xs-12,.landscape .landscape-col-xs-12 { width: 100%; } .portrait .portrait-col-xs-11,.landscape .landscape-col-xs-11 { width: 91.66666667%; } .portrait .portrait-col-xs-10,.landscape .landscape-col-xs-10 { width: 83.33333333%; } .portrait .portrait-col-xs-9,.landscape .landscape-col-xs-9 { width: 75%; } .portrait .portrait-col-xs-8,.landscape .landscape-col-xs-8 { width: 66.66666667%; } .portrait .portrait-col-xs-7,.landscape .landscape-col-xs-7 { width: 58.33333333%; } .portrait .portrait-col-xs-6,.landscape .landscape-col-xs-6 { width: 50%; } .portrait .portrait-col-xs-5,.landscape .landscape-col-xs-5 { width: 41.66666667%; } .portrait .portrait-col-xs-4,.landscape .landscape-col-xs-4 { width: 33.33333333%; } .portrait .portrait-col-xs-3,.landscape .landscape-col-xs-3 { width: 25%; } .portrait .portrait-col-xs-2,.landscape .landscape-col-xs-2 { width: 16.66666667%; } .portrait .portrait-col-xs-1,.landscape .landscape-col-xs-1 { width: 8.33333333%; }
Of course, you should do it ALL classes related to the grid.
In the example below, I hacked the float on the left with a built-in style, but if you process all the grid classes, having previously specified it with a common mode class and a specific mode, you should also pass these settings :-)
enjoy!
$('#thetoggle').on('click',function(){ var container = $(".container"); if(container.hasClass('portrait')) { container.removeClass('portrait'); container.addClass('landscape'); $(this).text('Toggle mode to portrait'); } else { container.removeClass('landscape'); container.addClass('portrait'); $(this).text('Toggle mode to landscape'); } });
.portrait .portrait .portrait-col-xs-12,.landscape .landscape-col-xs-12 { width: 100%; } .portrait .portrait-col-xs-11,.landscape .landscape-col-xs-11 { width: 91.66666667%; } .portrait .portrait-col-xs-10,.landscape .landscape-col-xs-10 { width: 83.33333333%; } .portrait .portrait-col-xs-9,.landscape .landscape-col-xs-9 { width: 75%; } .portrait .portrait-col-xs-8,.landscape .landscape-col-xs-8 { width: 66.66666667%; } .portrait .portrait-col-xs-7,.landscape .landscape-col-xs-7 { width: 58.33333333%; } .portrait .portrait-col-xs-6,.landscape .landscape-col-xs-6 { width: 50%; } .portrait .portrait-col-xs-5,.landscape .landscape-col-xs-5 { width: 41.66666667%; } .portrait .portrait-col-xs-4,.landscape .landscape-col-xs-4 { width: 33.33333333%; } .portrait .portrait-col-xs-3,.landscape .landscape-col-xs-3 { width: 25%; } .portrait .portrait-col-xs-2,.landscape .landscape-col-xs-2 { width: 16.66666667%; } .portrait .portrait-col-xs-1,.landscape .landscape-col-xs-1 { width: 8.33333333%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> <button type="button" id="thetoggle" class="btn btn-primary">Toggle mode to landscape</button> <div class="container portrait"> <div class="row"> <div class="portrait-col-xs-12 landscape-col-xs-4" style="float:left"> <h1>Title foo bar baz</h1> </div> <div class="portrait-col-xs-12 landscape-col-xs-8" style="float:left"> Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? </div> </div> </div>