I am trying to vertically position the text “Distance” and “Duration” in the center of my respective divs using flexbox, I cannot get it to work. I will also apply this to the text “Calories” and “Share”.
I also want to use flexbox to evenly place my 4x links vertically in the middle column.
![enter image description here](https://fooobar.com//img/daa677d6ae60e6ec768ba7d72dd5009b.png)
Codepen demo
HTML:
<!DOCTYPE html> <html> <head> <title>Runna - Track your run!</title> <meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalable=no"> <link rel="stylesheet" type="text/css" href="css/reset.css"> <link rel="stylesheet" type="text/css" href="css/style.css"> <link href='http://fonts.googleapis.com/css?family=Lato:400,700,900' rel='stylesheet' type='text/css'> <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="js/js.js"></script> </head> <body> <div id="main-wrapper"> <div id="head-bar"> <img class="logo" src="imgs/logo-blue.png"> </div> <div id="map-container"> <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d11564.804405086046!2d172.59430635!3d-43.56069255!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2snz!4v1418977732755" width="100%" height="100%" frameborder="0" style="border:0"></iframe> </div> <div id="control-container"> <div class="left-col"> <div class="distance-wrapper"> <div class="distance-title bold-title">DISTANCE:</div> <div class="distance-figure">1.7KM</div> </div> <div class="duration-wrapper"> <div class="duration-title bold-title">DURATION</div> <div class="duration-figure">10.42MINS</div> </div> </div> <div class="middle-col"> <ul> <li class="arrow"><a href="#" class="arrowbutton"><i class="fa fa-chevron-down"></i></a></li> <li><a href="#">START</a></li> <li><a href="#">STOP</a></li> <li><a href="#">PAUSE</a></li> </ul> </div> <div class="right-col"> <div class="calorie-wrapper"> <div class="calories bold-title">CALORIES</div> <div class="calories-result">100 cal's</div> </div> <div class="share-wrapper"> <div class="share bold-title">SHARE</div> <div class="share-icons">FB or Twitter</div> </div> </div> </div> </div> </body> </html>
CSS
html { box-sizing: border-box; height: 100%; } *, *:before, *:after { box-sizing: inherit; } body { height: 100%; font-family: 'Lato', sans-serif; } #main-wrapper { height: 100vh; } @media all and (max-width: 40em) { #head-bar { background: black; width: 100%; height: 5vh; } .logo { display: block; margin: 0 auto; height: 85%; } #map-container { background: yellow; height: 65vh; width: 100%; } } #control-container { width: 100%; height: 30vh; color: white; font-family: 'Lato', sans-serif; text-align: center; background: #1b1b1b; position: relative; } .left-col { display: flex; flex-direction: column; width: 33.3%; height: 100%; float: left; } .middle-col { background: #151515; width: 33.3%; height: 100%; float: left; } .right-col { width: 33.3%; float: left; } .distance-wrapper, .duration-wrapper { flex: 1; border-bottom: 1px solid yellow; justify-content: center; } .calorie-wrapper, .share-wrapper { display: block; width: 100%; } .bold-title { font-weight: 900; font-family: 'Lato', sans-serif; } .middle-col { border-top-left-radius: 4px; border-top-right-radius: 4px; } .middle-col ul { margin: 0; padding: 0; display: table; width: 100%; } .middle-col li { list-style-type: none; } .middle-col a { color: white; text-decoration: none; display: block; padding: 20px; } .middle-col a:hover { background: green; display: block; } #control-container:after { content: ""; display: block; height: 0; clear: both; }
source share