1

I'm trying to create a position: fixed sidebar using bootstrap but I haven't had any success yet. My attempts can be summed up with essentially:

<div class="container">
  <div class="row">
    <div class="span3">
    </div>
    <div class="span9">
    </div>
  </div>
</div>

and setting the position of the span3 column to be fixed, and trying various different css positions. However, it seems to break the size and positioning of the span9.

Is my attempt completely wrong? Or am I missing something completely?

Thanks!

nan
  • 4,238
  • 4
  • 25
  • 24
  • 2
    This question has been answered before here: [Fixed sidebar navigation in fluid twitter bootstrap 2.0](http://stackoverflow.com/questions/9350818/fixed-sidebar-navigation-in-fluid-twitter-bootstrap-2-0/9351158#9351158) – Andres I Perez Jun 10 '12 at 14:42
  • That's for a fluid layout. I wanted to do this for a fixed layout. – nan Jun 10 '12 at 15:37

2 Answers2

0

From what I can understand, You want a span3 fixed position column.

The following code is working but not centered.

<div class="row">
    <div class="span3" style="position:fixed;background-color:green;height:100%;top:0px">
         position fixed navbar (out of .container)
    </div>
 </div>
 <div class="container" style="margin:0px">
   <div class="row">
     <div class="span3" style="background-color:red;height:100%">empty to avoid overflow</div>
       <div class="span9 offset3">
           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>​

http://jsfiddle.net/baptme/A8HLL/48/

baptme
  • 10,062
  • 3
  • 52
  • 57
0

It's not possible to align the entire page in the center using twitter bootstrap or css.

But possible with a bit of jquery.

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

And add id="leftmargin" like below (scroll right):

<div class="row">
  <div class="span3" style="position:fixed;background-color:green;height:100%;top:0px;" id="leftmargin">
    position fixed navbar (out of .container)
  </div>
</div>
<div class="container">
  <div class="row">
  <div class="span3" style="background-color:red">empty to avoid overflow</div>
    <div class="span9 offset3" style="background-color:blue;">
      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>​

http://jsfiddle.net/baptme/NzqfL/

baptme
  • 10,062
  • 3
  • 52
  • 57