【问题标题】:Twitter Bootstrap Two Column Responsive Layout - Sidebar 100% height with fixed widthTwitter Bootstrap 两列响应式布局 - 侧边栏 100% 高度和固定宽度
【发布时间】:2012-06-22 04:17:27
【问题描述】:

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

它必须执行以下操作:

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

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

我玩过很多东西,但似乎无法理解。有没有人有任何建议或知道如何做到这一点?

谢谢!

编辑:

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

【问题讨论】:

    标签: css twitter-bootstrap responsive-design


    【解决方案1】:

    看看这个。

    <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

    【讨论】:

    • 谢谢,这是一个好的开始。但是,它似乎不适用于流体。
    • @dave 你知道如何适应响应式或者你想让我看看吗?
    • @batme 好吧,响应式可能会起作用,我想我必须更新不同尺寸的样式。但我似乎无法让正确的身体变得流畅,同时拥有固定的侧边栏 - 如果你不介意那将是很棒的!
    • @date Done(已编辑),我假设左侧边栏丢失了 position:fixed 属性低于 768px。
    • @batme 这看起来很棒!虽然,没有左侧边栏?
    猜你喜欢
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2013-03-04
    • 2014-04-19
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多