Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scroll inside of a fixed sidebar

Tags:

css

scroll

I have a fixed sidebar on the left of my site with content that has too much content to display on the screen. How can I make that content scrollable while still allowing the right side to be scrollable?

I would think that a simple overflow-y: scroll; would suffice. It seems like I need to have a max-height on the sidebar, but setting that max-height to 100% does nothing. I'm sure this is a simple code pattern, but alas, my CSS skills have deserted me today.

Simple example here: http://jsfiddle.net/tvysB/1/

like image 931
Ryan Madsen Avatar asked Nov 12 '12 02:11

Ryan Madsen


People also ask

How do you use a sticky sidebar?

If you see the Qode Sticky Sidebar widget, then you can create a sticky sidebar simply by placing that widget into the widget area of your choice. Click on the arrow in the right corner to open a dropdown menu and then select Sidebar as the area to which you wish to add the widget.

How do I make my navbar vertical scrollable?

For vertical scrollable bar use the x and y axis. Set the overflow-x:hidden; and overflow-y:auto; that will automatically hide the horizontal scroll bar and present only vertical scrollbar. Here the scroll div will be vertically scrollable.


2 Answers

Set the top and bottom to 0, so that the sidebar is exactly the same height as the viewport:

#leftCol {     position: fixed;     width: 150px;     overflow-y: scroll;     top: 0;     bottom: 0; } 

Here's your fiddle: http://jsfiddle.net/tvysB/2/

like image 144
Joseph Silber Avatar answered Sep 21 '22 04:09

Joseph Silber


I had this same issue and fixed it using:

.WhateverYourNavIs {       max-height: calc(100vh - 9rem);       overflow-y: auto;  } 

This sets the max height for your nav in a way that is responsive to the height of the users browser and then gives it a scroll when it needs it.

like image 28
Mac Avatar answered Sep 22 '22 04:09

Mac