html - Parent DIV Height to expand based on inner content -
this question has answer here:
- expanding parent <div> height of children 14 answers
i'm trying set height of .background based on number of .slice elements on page. know inner elements being floated left doesn't i'm not sure how solve this.
jsfiddle http://jsfiddle.net/8ryad/
html
<div class="master"> <a id="btn-nav"> <span></span> <span>menu</span> <span></span> </a> <nav id="main-nav"> <div class="background"> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> <div class="slice"></div> </div> </nav> </div><!-- end master -->
css
@import url(http://fonts.googleapis.com/css?family=droid+sans); body { background: #2980b9; font-family: 'droid sans', sans-serif; } #btn-nav { position:absolute; left:10px; top:10px; width:30px; height:30px; display:block; z-index:1; } #btn-nav:hover { cursor:pointer; } #btn-nav span:nth-child(2) { top:10px; } #btn-nav span:nth-child(3) { top:20px; } #btn-nav span { height: 4px; width: 30px; background: white; content: ""; text-indent: -999em; display:inline-block; position:absolute; zoom: 1; top:0px; left:0px; text-align:center; -webkit-transition: top .3s cubic-bezier(0.165,.84,.44,1); -webkit-transform: rotate(0deg); } #btn-nav:hover > span, #btn-nav.open > span { top:10px; } #btn-nav.open > span:nth-child(1) { -webkit-animation: rotateani .2s .1s forwards, expandani .3s .3s forwards; } #btn-nav.open > span:nth-child(2) { -webkit-animation: rotateani .2s .1s forwards, expandani-2 .3s .3s forwards; } #btn-nav.open > span:nth-child(3) { -webkit-animation: rotateani .2s .1s forwards, expandani-3 .3s .3s forwards; } @-webkit-keyframes rotateani { 0% {-webkit-transform: rotate(0deg);} 100% {-webkit-transform: rotate(90deg);} } @-webkit-keyframes expandani { 0% {left:0;} 100% {left:-10px;} } @-webkit-keyframes expandani-2 { 0% {left:0;} 100% {left:0px;} } @-webkit-keyframes expandani-3 { 0% {left:0;} 100% {left:10px;} } #main-nav { position:fixed; left:0; top:0; display:block; width:100%; height:100%; z-index:-1; } .slice { width:25%; height:30%; min-height:30%; float:left; background:black; opacity:0; -webkit-transition: 1s; } .background { position:absolute; left:0; top:0; width:100%; height:100%; z-index:-1; }
managed it; deleted layout , started again.
the main thing set overflow hidden on master div , give min-height.
followed answers here: expanding parent <div> height of children
#master { background: #000; height: auto; min-height: 100%; overflow: hidden; position: relative; width: 100%; } #main-nav { left: 0; position: absolute; top: 0; display: block; height: 100%; position: fixed; width: 100%; z-index: -1; } .slice { background: #000; float: left; height: 33.66%; opacity: 0; filter: alpha(opacity=0); width: 25%; -webkit-transition: 1s; }
Comments
Post a Comment