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/
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.
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.
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/
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With