JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<section class="analysis">
<div class="menubar">
<div class="dropdown" id="file-btn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</div>
<div id="view-ctrls-cntnr">
<div class="btn-group" role="group">
<button class="btn btn-default" ng-class="{'active-view': active_views[0]}" ng-click="toggleView(0)">R-Theta</button>
<button class="btn btn-default" ng-class="{'active-view': active_views[1]}" ng-click="toggleView(1)">Cartesian</button>
<button class="btn btn-default" ng-class="{'active-view': active_views[2]}" ng-click="toggleView(2)">Longitudinal</button>
<button class="btn btn-default" ng-class="{'active-view': active_views[3]}" ng-click="">Console</button>
</div>
</div>
</div>
<div id="views-cntnr">
<div id="r1" class="view-row">
<div id="v1"...
CSS
html,
body {
height: 100%;
}
.analysis {
display: flex;
flex-direction: column;
height: 100%;
}
/* MENUBAR */
.menubar {
padding: 4px 0 4px;
background-color: #eee;
border: hsl(0, 0%, 75%) solid 1px;
border-right: none;
border-left: none;
display: flex;
}
#view-ctrls-cntnr {
margin-left: auto;
margin-right: auto;
}
#file-btn a {
color: black;
text-decoration:none
}
/* menubar */
/* VIEWS */
#views-cntnr {
display: flex;
flex-direction: column;
flex-grow: 1;
}
/* ROWS */
/* ROW 1 */
#r1 {
display: flex;
flex-grow: 4;
}
#r1 .view {
flex-grow: 1;
border: black 1px solid;
border-top: none;
border-right: none;
}
#r1 .view:last-child {
border-right: black 1px solid;
}
/* row 1 */
/* ROW 2 */
#r2 .view {
border: black 1px solid;
border-top: none;
flex-grow: 1;
}
#r2 {
display: flex;
flex-grow: 1;
}
/* row 2 */
/* rows */
/* views */
/* FRAME CTRL */
#frame-ctrl-cntnr {
display: flex;
}
.frame-ctrl {
border: black 1px solid;
border-top: none;
border-right: none;
}
.frame-ctrl:last-child {
border-right: black 1px solid;
}
#frame-num {
width: 50px;
}
#frame-range-cntnr {
flex-grow: 1;
padding: 4px;
}
/* frame ctrl */
JavaScript
/*
var view_btns = $('view-ctrls button');
var active_views = [true, true, true, true];
var updateViews = function() {
for (var i=0; i < view_btns.length; i++) {
if ()
}
}
*/