0

我正在尝试使用类似于响应式典型 OS X UI 的 Bootstrap 组合布局。

它必须执行以下操作:

  • 整体高度 100%
  • 固定宽度(但反应灵敏)100% 高度侧边栏,具有自己的背景颜色
  • 响应式正文(右栏)

我找到了这个线程,它部分完成了这项工作。问题是侧边栏不是 100% 的高度,在全视图中也不是固定宽度,当“响应”时,右侧在底部留下白色背景,而不是填充。

我玩了一堆东西,但似乎无法得到它。有人有任何建议或知道如何做到这一点吗?

谢谢!

编辑:

只是为了澄清,因为我的问题不清楚。这将是一个固定的左侧菜单,具有流畅的右侧“主体”,整体宽度为 100%。

4

1 回答 1

2

看一下这个。

<div class="row">
    <div class="span3" style="position:fixed;background-color:#46a546;height:100%;top:0px;" id="leftmargin">
        position fixed navbar (out of .container)
    </div>
</div>
<div class="container">
  <div class="row">
      <div class="span9 offset3" style="background-color:#049cdb;">
          bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>
          bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>
          bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>
          bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>
          bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>
          bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>bla bla bla<br>
      </div>
  </div>
</div>

还有一点 jQuery

function sizing() {
    var windowwidth=$(window).width();
    var containerwidth=$('.container').width();
    if(windowwidth<1200) {
      var diff=windowwidth-containerwidth+40;
    }
    else {
      var diff=windowwidth-containerwidth+60; 
    }
    $('#leftmargin').text("window="+ windowwidth+",container="+containerwidth);
    if(windowwidth<=767) {
      $('#leftmargin').css('margin-left', '0px');
      $('#leftmargin').css('position', 'relative');  
    }
    else {
      $('#leftmargin').css('position', 'fixed');        
        if(diff>0) {
            $('#leftmargin').css('margin-left', (diff/2) +'px');
        } else {
            $('#leftmargin').css('margin-left', '20px');
        }
    }
}
$(document).ready(sizing);
$(window).resize(sizing);

http://jsfiddle.net/NzqfL/3/

灵感来自我之前的帖子https://stackoverflow.com/a/10972425/1416911

于 2012-06-20T07:45:27.560 回答