2015-03-24 104 views
0

我正在應用在兩個div使用高度100%溢出。我有兩個jsfiddle。一個很好,一個不行。當然,我需要做第二個選項。 Theese是兩個的jsfiddle:可變高度與自動溢出

1)http://jsfiddle.net/T3qF8/96/(它的工作原理) 2)http://jsfiddle.net/8y48q/29/(未作品)

兩個示例之間的唯一區別在於,在第二i使用的UIKit。可能是問題?這裏的方式代碼第二的jsfiddle:

html, body { 
 
    margin: 0; padding: 0; 
 
    height: 100%; 
 
    overflow: hidden; 
 
} 
 

 
#header_with_dynamic_height { 
 
    background-color: #fafafa; 
 
    height:30px; 
 
    float: left; width: 50%; 
 
} 
 
#remaining_height_with_scrollbar { 
 
    background-color: #009688; 
 
    height: 100%; 
 
    overflow: auto; 
 
    width: 100%; 
 
    float: right;  
 
    padding-left:10px; 
 
    /* If you change this to "scroll" or "auto", the content disappears */ 
 
} 
 

 
#remaining_height_with_scrollbar_left { 
 
    background-color: #F44336; 
 
    height: 100%; 
 
    overflow: auto; 
 
    width: 100%; 
 
    float: left; 
 
    padding-left:10px; 
 
    /* If you change this to "scroll" or "auto", the content disappears */ 
 
}
<div ng-app="myApp"> 
 
    <div ng-controller="TestCtrl"> 
 
    <nav id="header_with_dynamic_height" class="uk-nav"> 
 
     <ul> 
 
     <li>Test</li> 
 
     </ul> 
 
    </nav> 
 

 
    <div class="tabs-content"> 
 
     <ul class="uk-tab" data-uk-tab> 
 
     <li class="uk-active"><a href="">...</a> 
 
     </li> 
 
     <li><a href="">...</a> 
 
     </li> 
 
     </ul> 
 
    </div> 
 
    <div class="uk-width-1-1"> 
 
     <div class="uk-grid"> 
 
     <div class="uk-width-1-2"> 
 
      <div id="remaining_height_with_scrollbar_left"> 
 
      Here 
 
      <br/>should 
 
      <br/>be 
 
      <br/>a 
 
      <br/>scrollbar. 
 
      <br/>But 
 
      <br/>the 
 
      <br/>content 
 
      <br/>overlaps. 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      </div> 
 
     </div> 
 
     <div class="uk-width-1-2"> 
 
      <div id="remaining_height_with_scrollbar"> 
 
      Here 
 
      <br/>should 
 
      <br/>be 
 
      <br/>a 
 
      <br/>scrollbar. 
 
      <br/>But 
 
      <br/>the 
 
      <br/>content 
 
      <br/>overlaps. 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      <br/>1 
 
      <br/>2 
 
      <br/>3 
 
      <br/>4 
 
      <br/>5 
 
      <br/>6 
 
      <br/>7 
 
      <br/>8 
 
      <br/>9 
 
      <br/>10 
 
      </div> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

感謝

+0

第一也不管用,部分高達頭diseapear在底部。你可以通過顯示來實現這一點:flex; – 2015-03-24 21:42:09

+0

什麼?真?不起作用?這很奇怪!但是,彈性組件(告訴我,如果我錯了)不能始終工作,並在所有的瀏覽器..正確? – 2015-03-24 21:47:22

+0

flex會讓它變得簡單**只有**隨着後來的瀏覽器,你是對的,第一:http://jsfiddle.net/T3qF8/97/你可以看到滾動條的底部或最新的內容? :(但最好的和堅實的解決方案是使用JavaScript,並允許內容滾動,如果JavaScript不是可用的,以防萬一 – 2015-03-24 22:00:40

回答

1

你的jsfiddle鏈接加載jQuery框架了。 你可以做這這種方式,因爲CSS將在這裏沒有堅實的,跨瀏覽器解決方案:

$(window).load(function() { 
    var colH = $(window).height(); 
    var headerH = $(".uk-nav").height(); 
    $('.uk-width-1-2> div ').css('height', colH - headerH -10 + "px"); 
}); 

fiddle update從第二小提琴

+0

好的!可能是解決方案!謝謝!如果你可能有一個angularjs解決方案可以發佈嗎?謝謝 – 2015-03-24 22:41:03

+0

@end.Game看看常見問題,例如$(window).height() ;將是$ window.height;;),應該安靜簡單,用角度語法重寫 – 2015-03-24 22:43:06