Box Layout with CSS FlexBox

by g

HTML

<div id="container" class="box">
    <div id="header" class="box"><h2>Header Text</h2></div>
    <div id="center" class="box">
        <div id="center_left" class="box">left column</div>
        <div id="center_right" class="box">
            <div class="box-title">Box Title</div>
            <div class="box-content">
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
<p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
              <p>right column</p>
            </div>
        </div>
    </div>
    <div id="footer" class="box">footer text</div>
</div>

CSS

body,
html {
  height: 100%;
  padding: 0;
  margin: 0;
}
#container {
  display: box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  box-orient: vertical;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -ms-box-orient: vertical;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  height: 100%;
  width: 100%;
}
#center {
  display: box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  box-orient: hozizontal;
  -webkit-box-orient: hozizontal;
  -moz-box-orient: hozizontal;
  -ms-box-orient: hozizontal;
  box-flex: 1;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -ms-box-flex: 1;
}
#center_left {
  box-flex: 1;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -ms-box-flex: 1;
  min-width: 100px;
}
#center_right {
  box-flex: 2;
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  -ms-box-flex: 2;
}
.box {
  border: solid 1px #f00;
}
#center_right {
  display: box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  box-orient: vertical;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -ms-box-orient: vertical;
}
.box-content {
  box-flex: 1;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -ms-box-flex: 1;
  overflow: auto;
  min-height: 1px;
}