Creating a tournament bracket, complete with the lines, with the Flexbox. That means no tables, no absolute positioning, no images or svg, just plain ole html and css.
A Pen by Adam Preston on CodePen.
| <h1>Athletic Club of Columbus - Open Tournament</h1> | |
| <main id="tournament"> | |
| <ul class="round round-1"> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Jim S <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Tom Smith<span>1</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Bill M <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Tom F <span>1</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top ">Frank D <span>1</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom winner">Bob B <span>2</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Kevin S <span>3</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Glen B <span>0</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Tony L <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Victor T <span>1</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Mark R <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Jeremy S <span>1</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Dave C <span>3</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Jesse D <span>1</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Adam P <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Mike V <span>1</span></li> | |
| <li class="spacer"> </li> | |
| </ul> | |
| <ul class="round round-2"> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Jim S <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Bill M <span>1</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Bob B <span>3</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Kevin S <span>0</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top ">Tony L <span>1</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom winner">Mark R <span>2</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top ">Dave C <span>50</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom winner">Adam P <span>66</span></li> | |
| <li class="spacer"> </li> | |
| </ul> | |
| <ul class="round round-3"> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Jim S <span>3</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Bob B <span>0</span></li> | |
| <li class="spacer"> </li> | |
| <li class="game game-top ">Mark R <span>2</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom winner">Adam P <span>1</span></li> | |
| <li class="spacer"> </li> | |
| </ul> | |
| <ul class="round round-4"> | |
| <li class="spacer"> </li> | |
| <li class="game game-top winner">Jim S <span>3</span></li> | |
| <li class="game game-spacer"> </li> | |
| <li class="game game-bottom ">Adam P <span>0</span></li> | |
| <li class="spacer"> </li> | |
| </ul> | |
| </main> |
| /* | |
| * Flex Layout Specifics | |
| */ | |
| main{ | |
| display:flex; | |
| flex-direction:row; | |
| } | |
| .round{ | |
| display:flex; | |
| flex-direction:column; | |
| justify-content:center; | |
| width:200px; | |
| list-style:none; | |
| padding:0; | |
| } | |
| .round .spacer{ flex-grow:1; } | |
| .round .spacer:first-child, | |
| .round .spacer:last-child{ flex-grow:.5; } | |
| .round .game-spacer{ | |
| flex-grow:1; | |
| } | |
| /* | |
| * General Styles | |
| */ | |
| body{ | |
| font-family:sans-serif; | |
| font-size:small; | |
| padding:10px; | |
| line-height:1.4em; | |
| } | |
| li.game{ | |
| padding-left:20px; | |
| } | |
| li.game.winner{ | |
| font-weight:bold; | |
| } | |
| li.game span{ | |
| float:right; | |
| margin-right:5px; | |
| } | |
| li.game-top{ border-bottom:1px solid #aaa; } | |
| li.game-spacer{ | |
| border-right:1px solid #aaa; | |
| min-height:40px; | |
| } | |
| li.game-bottom{ | |
| border-top:1px solid #aaa; | |
| } |
Creating a tournament bracket, complete with the lines, with the Flexbox. That means no tables, no absolute positioning, no images or svg, just plain ole html and css.
A Pen by Adam Preston on CodePen.