This shows an example of a responsive table that utilizes flexbox for it's layout.
Moved from my old account to new: Forked from Ian Svoboda's Pen vIqnD.
A Pen by Ian Svoboda on CodePen.
| <script src="//ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.7.2.js"></script> | |
| <section> | |
| <header><h1>Responsive Flexbox table with Fallback</h1> | |
| <div class="yes">Hooray! Your browser supports flexbox!</div> | |
| <div class="no">Bummer, your browser doesn't support flexbox</div> | |
| </header> | |
| <div class="container"> | |
| <div class="row header"> | |
| <div class="cell header">Name</div> | |
| <div class="cell header">Friend</div> | |
| <div class="cell header">Website</div> | |
| <div class="cell header">Category</div> | |
| </div> | |
| <div class="row"> | |
| <div class="cell" title="Name"><span>Ian Svoboda</span></div> | |
| <div class="cell" title="Friend"><span>Boniface McAwesome</span></div> | |
| <div class="cell" title="Website"> | |
| <span><a href="http://www.iansvoboda.com">http://www.iansvoboda.com</a></span> | |
| </div> | |
| <div class="cell" title="Category"><span>Portfolio</span></div> | |
| </div> | |
| <div class="row alt"> | |
| <div class="cell" title="Name"><span>Bob Buttons</span></div> | |
| <div class="cell" title="Friend"><span>Jim Test</span></div> | |
| <div class="cell" title="Website"> | |
| <span><a href="http://www.1shoppingcart.com">http://www.1shoppingcart.com</a></span> | |
| </div> | |
| <div class="cell" title="Category"><span>Ecommerce</span></div> | |
| </div> | |
| <div class="row"> | |
| <div class="cell" title="Name"><span>Johnny Appleseed</span></div> | |
| <div class="cell" title="Friend"><span>Steve Jobs</span></div> | |
| <div class="cell" title="Website"> | |
| <span><a href="http://www.apple.com">http://www.apple.com</a></span> | |
| </div> | |
| <div class="cell" title="Category"><span>Computers</span></div> | |
| </div> | |
| <div class="row alt"> | |
| <div class="cell" title="Name"><span>Boniface McAwesome</span></div> | |
| <div class="cell" title="Friend"><span>Ian Svoboda</span></div> | |
| <div class="cell" title="Website"> | |
| <span><a href="http://www.wildstar-online.com">http://www.wildstar-online.com</a></span> | |
| </div> | |
| <div class="cell" title="Category"><span>Gaming</span></div> | |
| </div> | |
| </div> | |
| <footer>Created by <a href="http://www.iansvoboda.com" target="_blank">Ian Svoboda</a></footer> | |
| </section> |
This shows an example of a responsive table that utilizes flexbox for it's layout.
Moved from my old account to new: Forked from Ian Svoboda's Pen vIqnD.
A Pen by Ian Svoboda on CodePen.
| body { | |
| font-size: 16px; | |
| font-family: Helvetica, sans-serif; | |
| } | |
| .flexbox .no, | |
| .no-flexbox .yes {display: none} | |
| .container { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| a { | |
| color: #E66A20; | |
| word-wrap: break-word; | |
| } | |
| a:visited { | |
| color: #F00; | |
| } | |
| header, | |
| footer {text-align: center;} | |
| .container { | |
| width: 75%; | |
| margin: 1em auto; | |
| } | |
| .cell { | |
| overflow: hidden; | |
| } | |
| .container .row .cell.header { | |
| color: #FFF; | |
| background-color: #222; | |
| } | |
| .row { | |
| background: green; | |
| } | |
| .row.alt { | |
| background: #DEDEDE; | |
| } | |
| .flexbox .container { | |
| display: -webkit-flex; | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .boxshadow .container { | |
| box-shadow: 1px 1px 10px 1px #777; | |
| } | |
| .flexbox .container .row { | |
| display: -webkit-flex; | |
| display: flex; | |
| flex-direction: row; | |
| } | |
| .flexbox .row .cell { | |
| flex: 1; | |
| width: 25%; | |
| } | |
| .row .cell { | |
| padding: 1em; | |
| border: 1px solid #222; | |
| } | |
| @media all and (max-width: 43.125em) { | |
| .header {display: none;} | |
| .flexbox .row .cell:before { | |
| content: attr(title); | |
| width: 75px; | |
| display: block; | |
| background: #222; | |
| color: #fff; | |
| padding: .25em .5em; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| } | |
| .flexbox .container .row { | |
| flex-direction: column; | |
| } | |
| .flexbox .row .cell { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| width: 100%; | |
| position: relative; | |
| padding: 3em 0 1em 1em; | |
| } | |
| } | |
| /* Fallbacks */ | |
| .no-flexbox .container { | |
| display: table; | |
| } | |
| .no-flexbox .row { | |
| display: table-row; | |
| } | |
| .no-flexbox .cell { | |
| display: table-cell; | |
| } |