How to make a div individually scrollable in React Bootstrap - css

So im currently trying to use React Bootstrap for my website. I'm confused how to make only one div to be scrollable and the others not. Here's my code in App.js
import * as React from 'react'
import Container from 'react-bootstrap/Container'
import Button from 'react-bootstrap/Button'
import Row from 'react-bootstrap/Row'
import Col from 'react-bootstrap/Col'
function App() {
return (
<Container fluid>
<Row style={{height: "100vh"}}>
<Col sm={4} className="border border-primary">
<div>Avatar</div>
</Col>
<Col className="border border-primary">
test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>
<div className="position-sticky">
stick please
</div>
</Col>
</Row>
</Container>
);
}
export default App
In the image, the <div>please stick</div> is not seen because it's far below and the <Col>avatar</Col> is scrollable when I wanted to make the text Avatar to stick.
Does anyone know how to make one div scroll independently while the other divs stays and cannot be scrolled? Thanks in advance

Give the scrollable div overflow-y: auto. One child of a container won't scroll until you give the height to its parent. In the following example, I've given height: 100%, because I want to divide the page into 2 parts which will take full height i.e (100vh). You can also give custom height i.e height: 300px;
Just add height on parent cotainer and overflow-y: auto to child element that you want to scroll.
body,
html {
height: 100%;
margin: 0;
}
div.container {
height: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
}
div.first {
background-color: burlywood;
padding: 1rem;
}
div.second {
background-color: darkcyan;
padding: 1rem;
overflow-y: auto;
}
<div class="container">
<div class="first">
first
</div>
<div class="second">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ut totam nulla quae accusantium sunt provident saepe, quis fugit delectus? Possimus sed id dolore omnis facere harum vitae dolor reprehenderit. Tenetur. Ipsa quasi rem deleniti quidem ut corporis
s officia minima est labore dignissimos quia exercitationem unde! Libero deleniti in laudantium harum nihil reiciendis autem dolorum vero, non blanditiis sapiente quibusdam tenetur animi, dicta laboriosam quisquam sint repellat natus eius nostrum
reprehenderit. Veniam recusandae quod quaerat quis. Cumque eum ducimus, at deserunt nemo minus neque similique dolores rerum voluptas, necessitatibus quis aperiam consequuntur, error quo accusamus. Cum doloremque ut deserunt. Cupiditate, possimus
delectus. Dignissimos minima perspiciatis fugiat. Minima quaerat laborum veniam reprehenderit, ea reiciendis expedita explicabo nemo, recusandae harum, dolores vitae tenetur dolore itaque ducimus odit deserunt pariatur dolor facere molestiae unde
quos et. Ut, consectetur neque! Debitis dicta doloremque eaque ex aspernatur odit saepe omnis dignissimos veritatis ut. Earum dolores mollitia dolorem eligendi ad molestiae, saepe exercitationem harum magni doloribus, natus minima ratione aliquam
laudantium expedita! Nam odit harum consequuntur eaque quas, magni atque tenetur veniam dolor ipsum fuga sapiente vero molestias at consectetur ratione! Ex obcaecati nihil sed eum dicta impedit asperiores dolorum reiciendis vitae! Velit, qui esse
quos eveniet voluptas quia ipsum minus asperiores. Quas, deserunt hic nihil quam eligendi, voluptatem dolores ducimus nesciunt enim saepe officia eos quia blanditiis esse neque omnis aliquam! Ab quod harum maxime illum quam commodi cupiditate eaque,
esse vero nostrum, deleniti ut eum recusandae. Quos asperiores distinctio a debitis? Expedita illum minus modi facere reprehenderit animi, voluptate ipsum? Quis vel, voluptatem veniam, accusamus pariatur delectus aliquam voluptatum quisquam voluptatibus
odio earum itaque praesentium! Voluptate voluptatem expedita reiciendis pariatur aspernatur accusamus ut nihil! Cum id veniam repellendus. Sed, corrupti. Quam laborum corporis, ipsum iste ex, quas est nihil ipsa architecto tenetur, exercitationem
qui commodi repellat. Laboriosam sit nesciunt, quidem ipsum, similique vero optio vel aperiam nemo deleniti quas voluptas? Inventore nesciunt facere consequatur tempora ad ullam sint, commodi voluptate rem temporibus repellat aut dolores accusamus,
tenetur deleniti non quam necessitatibus praesentium fugiat harum iusto eveniet? Hic suscipit corrupti libero. Ipsa dignissimos optio et eveniet nulla itaque assumenda, voluptate a nostrum quisquam consectetur eum eaque magnam nobis provident, distinctio
omnis unde eius ipsam at labore enim iusto accusantium. Beatae, ut. Odio fugit atque, ad nobis incidunt tempora vitae ullam sapiente perferendis non quas aut eos animi minus optio aspernatur voluptates debitis! Nisi, sed a exercitationem ea iure ipsa
iste accusantium. Porro, distinctio voluptatem sequi qui dolore quidem quia odio optio ullam soluta adipisci perferendis, illum reiciendis temporibus quis atque quibusdam possimus laboriosam quae id consequuntur tempore! Ipsum excepturi sapiente iure!
Modi atque provident aut accusamus est, blanditiis architecto, nulla quis quibusdam, hic nobis eligendi explicabo dolorum voluptatem beatae voluptatum sunt repellendus quam! Suscipit eum cupiditate tempore illum sed modi expedita! Eos quas dolorum
id, consectetur recusandae aliquam error nisi labore autem ullam inventore deserunt consequuntur nihil dolore tenetur sit soluta tempore quod quis doloribus sequi! Accusamus repudiandae est possimus facilis! Ab error a, culpa eaque inventore sit amet
dolorum rem, quae omnis aperiam aut nesciunt voluptas ullam dolore reprehenderit ratione et enim magnam eveniet sint iste ipsam deserunt excepturi. Ratione. Harum corporis sunt autem aperiam provident pariatur dolore eveniet consequatur repellendus
voluptate ipsa impedit, numquam illo doloremque velit excepturi quo saepe. Obcaecati, dolore neque quas eum nisi at ducimus recusandae! Debitis rerum a sapiente numquam aut doloremque cum nemo eaque, incidunt at recusandae repellat odit aspernatur
nesciunt obcaecati non velit cumque blanditiis omnis facere vero quis eos ab? Magnam, earum. Iusto voluptates repellendus facere possimus porro ducimus dicta illo, repellat ab. Iste, at obcaecati quis, fuga accusantium molestias consectetur, nobis
praesentium recusandae deleniti ut veniam. Optio debitis labore odit doloremque. Adipisci ullam repellat provident culpa ab molestias autem voluptates tempore aspernatur delectus obcaecati, corrupti nesciunt aperiam? Perspiciatis, est doloribus quam
non hic minus at laudantium unde enim voluptates sapiente officia. Aut, fugit libero, voluptatem eum ipsum consectetur vitae dolores optio modi soluta reiciendis! Sunt eum explicabo reprehenderit iure ut ab. Corrupti eligendi fugit rem sunt libero
aperiam veritatis accusamus nesciunt! Doloremque praesentium eaque nulla itaque autem eum modi maiores, nobis aperiam odio ipsam dolorem optio est nesciunt dolores, sequi beatae corrupti voluptate fuga voluptatem nemo, error ullam debitis? Incidunt,
adipisci. Vitae enim, accusantium autem aspernatur voluptatum ullam aliquam eum reprehenderit repellat hic voluptatem porro quos sunt cumque quisquam incidunt sint blanditiis sapiente odio! Eius nostrum cumque, impedit omnis saepe rem. At excepturi
enim nihil quia laudantium architecto, velit blanditiis mollitia saepe repellat iste natus ipsam! Dolor repellat illo atque ut ducimus impedit similique porro. Delectus sed nihil voluptas ducimus perspiciatis. Ex cupiditate ipsum minima veritatis
recusandae? Soluta porro magnam itaque beatae quis! Facere nesciunt dicta minus blanditiis tempora cum, nisi, a asperiores quis recusandae dolor illum non sint vero hic?</div>
</div>

Related

CSS: Scroll container horizontally instead of page? (display: grid break) [duplicate]

This question already has answers here:
Prevent content from expanding grid items
(3 answers)
Closed 12 months ago.
I'm trying to get the cyan box to scroll horizontally instead of triggering a horizontal scrollbar on the page.
It seems to break when I try using a grid layout; I had to horizontally scrolling before when I didn't use a grid.
How can I fix this? .page-wrap should fill the whole window and add vertical scrollbar as needed. Only the .boxs should scroll horizontally.
html {
overflow: hidden;
}
.page-wrap {
display: grid;
grid-template-areas:
"sidebar main"
"footer footer";
grid-template-columns: 250px 1fr;
grid-template-rows: auto 60px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: auto;
}
.sidebar {
background-color: green;
grid-area: sidebar;
}
.footer {
background-color: red;
grid-area: footer;
}
.main {
background-color: yellow;
grid-area: main;
}
.box {
background-color: cyan;
margin: 10px;
overflow-x: scroll;
}
<div class="page-wrap">
<div class="sidebar">sidebar</div>
<div class="main">
<div class="box">
<table>
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis, modi laudantium facilis. Cum quasi dolore quam doloribus reprehenderit illum nostrum id quas ea. Nostrum adipisci dolor nulla veniam exercitationem ipsa.</td>
<td>Accusamus deserunt voluptatibus rem, aspernatur enim dolores, amet illum accusantium! Tempora, repellendus, fuga. Ex, consectetur mollitia reprehenderit qui, consequuntur ipsam maiores excepturi sapiente tempore odit repudiandae facere incidunt! Vero, beatae.</td>
<td>Et minus eaque corrupti voluptas, earum ex non similique. Officiis a dignissimos veritatis quas provident sunt? Fuga vel officia qui, numquam eos sint, totam aspernatur, commodi quis, temporibus animi excepturi!</td>
<td>Natus quaerat, sint nemo quia laudantium dolorem asperiores deserunt neque porro esse iusto reprehenderit et assumenda ipsum saepe consequuntur soluta officiis illum maiores cumque quos voluptate expedita tenetur eum autem!</td>
<td>Asperiores ducimus accusantium aliquid nemo aliquam fugiat culpa maxime repudiandae pariatur minus. Eum incidunt iste molestias officiis sunt nostrum facilis velit. Reprehenderit quis aut officia quas beatae assumenda esse asperiores.</td>
<td>Architecto, nam consequuntur odit distinctio! Suscipit fuga nam reprehenderit, nostrum modi provident iusto aperiam alias qui. Optio repudiandae reiciendis, omnis esse maiores! A blanditiis ducimus voluptate nobis exercitationem. Temporibus, vel!</td>
<td>Similique et est omnis fuga, ad earum sapiente. Nam qui est quidem. Dignissimos amet harum voluptate a, sint culpa autem et neque, natus quod cum eos laudantium molestias, dolorem optio.</td>
<td>Saepe aspernatur consequuntur sint nisi dolores nihil ab repudiandae, odio dolor, assumenda culpa corporis fugiat ullam officia quibusdam eaque enim, harum voluptatem eveniet reprehenderit natus consectetur deleniti nesciunt et! Omnis!</td>
<td>Nihil quas quod numquam ut fugiat doloremque repudiandae animi iusto. Ullam quidem ipsa dolorem quos veritatis adipisci quisquam obcaecati culpa et consequatur, aspernatur unde eligendi rerum labore ab odit asperiores.</td>
<td>Hic, aliquam, harum? Harum tempora accusantium animi ratione id perspiciatis quasi maiores iste odio quisquam, adipisci, laudantium cupiditate voluptatem mollitia soluta sunt eveniet facere quibusdam aspernatur? Suscipit obcaecati dolorum eligendi.</td>
<td>Possimus natus, dignissimos vero nesciunt cum voluptatibus reiciendis commodi maxime voluptates qui illo quia distinctio tempora perferendis fugit modi itaque, quis recusandae quisquam quos ullam alias! Voluptatum repellat mollitia incidunt.</td>
<td>Quod in ducimus, saepe obcaecati, eius vero ipsa ea cum reprehenderit velit sunt numquam eaque sapiente dolorem, possimus id nostrum natus eligendi accusamus nulla voluptatibus necessitatibus harum vitae. Dolorum, praesentium.</td>
<td>Ab iusto, dicta deleniti explicabo perspiciatis pariatur deserunt blanditiis vel accusantium. Tempore architecto fugit cum similique laudantium et veritatis id, quos deleniti eaque voluptatum laboriosam, natus commodi itaque veniam vel.</td>
<td>Dignissimos, quis excepturi, ratione nemo minima tenetur possimus. Quos eum placeat veniam voluptas, tempora, aliquam? Dolores ipsum obcaecati nisi itaque dolor, officiis quidem minima, nesciunt molestias facilis cupiditate repellat sequi.</td>
<td>Dolores asperiores quidem totam illo veniam! Natus architecto nulla et asperiores modi quaerat, sed! Quam cum rem voluptatibus, rerum pariatur deserunt fugit odit, totam blanditiis animi nulla nisi facilis saepe.</td>
<td>Quibusdam dolor explicabo soluta adipisci est quis aliquam tempora non, sint laudantium tempore minima inventore dolorum magni ad a rem magnam dignissimos expedita maxime numquam voluptas facere, quidem harum aliquid.</td>
<td>Facere dolorem, ullam quasi. Numquam alias maiores harum voluptate delectus quos totam architecto voluptatum, sapiente pariatur modi, autem culpa omnis facere commodi unde assumenda. Quaerat, rem deserunt. Beatae, voluptates, cum.</td>
<td>Magni pariatur eos quo perspiciatis ipsam a modi accusantium nulla fugiat officiis dolor ducimus hic, provident eius facilis quibusdam molestiae quasi, sunt, quis repellat nesciunt! Enim ipsum ducimus cumque placeat?</td>
<td>Recusandae porro, consectetur placeat, temporibus delectus nesciunt aliquid nam incidunt at ipsa accusantium hic maxime tempora dolorum! Totam reiciendis, consequatur deserunt eveniet natus, vitae ipsa voluptate repudiandae velit, quia aspernatur!</td>
<td>Et iusto ab repellat quae? Quas, ratione sapiente a, fuga voluptates, unde ullam dolores, fugit sint magnam perferendis ad quae. Magnam consequatur nisi quisquam, maiores quasi qui provident similique nobis.</td>
<td>Ab qui hic, incidunt consequuntur officia exercitationem laboriosam suscipit veritatis est deleniti, debitis reiciendis at quidem consequatur iure ut quisquam tempore delectus aut soluta sequi tenetur sed magnam nostrum. Ab?</td>
<td>Earum quis perspiciatis perferendis, rem, fugit cumque reiciendis! Porro consequatur quam consequuntur quaerat, atque praesentium adipisci fugit, dignissimos, ab labore reprehenderit provident temporibus, totam magnam illum pariatur deserunt alias cum!</td>
<td>Officiis sit quam vero nobis doloribus necessitatibus possimus. Veniam, totam! Illo magnam, ipsum consequuntur at, ipsam sit fuga rerum architecto eum libero officiis, nobis! Obcaecati incidunt, mollitia placeat eaque atque.</td>
<td>Nisi nam assumenda laudantium quos non quasi. Fuga enim, voluptatibus possimus tempora numquam dolores maiores, eum quaerat sit odit distinctio saepe optio aut accusamus explicabo, dolorem quidem consequatur. Maxime, similique!</td>
<td>Autem inventore expedita quibusdam ipsum. Consequuntur nulla in vero blanditiis deleniti dignissimos, earum eligendi voluptatibus, minus illo, perspiciatis doloremque nisi sed maiores tempora. Excepturi minima, officia incidunt vitae pariatur illo!</td>
<td>Sequi delectus dolorum, ea rem quis voluptatem accusantium quibusdam suscipit corrupti est laborum adipisci tenetur optio expedita inventore quam molestiae cupiditate totam. Rem sed, odit blanditiis eius quia vel eos.</td>
<td>Vero dolor nam quisquam reiciendis quibusdam id sapiente quia est veritatis facilis, expedita recusandae sequi iste tempora harum illum nihil. Amet laborum, accusamus soluta dolores et iure? Possimus, et? Iusto.</td>
<td>Ullam ipsum blanditiis obcaecati, rem aliquam voluptates fuga quo praesentium quia cum dignissimos debitis laboriosam itaque? Nostrum explicabo quae, rem praesentium accusantium dicta officia veritatis magni earum officiis. Inventore, ut.</td>
<td>Quisquam, ex, dolore. Voluptates porro eum, blanditiis ullam non sequi suscipit iste eius! Soluta, nam quia impedit veritatis laudantium id ea iure autem magnam sapiente, a modi omnis. Optio, animi!</td>
<td>Consequuntur amet, tenetur quidem consequatur doloremque distinctio ipsum minima, incidunt, fuga voluptatibus placeat quae autem recusandae quasi. Nihil, dolorum? Aliquid eligendi hic expedita saepe recusandae suscipit tempora tempore illum tenetur.</td>
</tr>
</table>
</div>
</div>
<div class="footer">footer</div>
</div>
Figured it out.
html {
overflow: hidden;
}
.page-wrap {
display: grid;
grid-template-areas:
"sidebar main"
"footer footer";
grid-template-columns: 250px 1fr;
grid-template-rows: auto 60px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow-y: scroll;
overflow-x: auto;
}
.sidebar {
background-color: lime;
grid-area: sidebar;
}
.footer {
background-color: orange;
grid-area: footer;
}
.main {
background-color: yellow;
grid-area: main;
min-width: 0;
}
.box {
background-color: cyan;
margin: 10px;
overflow-x: scroll;
max-width: 100%;
}
<div class="page-wrap">
<div class="sidebar">sidebar</div>
<div class="main">
<div class="box">
<table>
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis, modi laudantium facilis. Cum quasi dolore quam doloribus reprehenderit illum nostrum id quas ea. Nostrum adipisci dolor nulla veniam exercitationem ipsa.</td>
<td>Accusamus deserunt voluptatibus rem, aspernatur enim dolores, amet illum accusantium! Tempora, repellendus, fuga. Ex, consectetur mollitia reprehenderit qui, consequuntur ipsam maiores excepturi sapiente tempore odit repudiandae facere incidunt! Vero, beatae.</td>
<td>Et minus eaque corrupti voluptas, earum ex non similique. Officiis a dignissimos veritatis quas provident sunt? Fuga vel officia qui, numquam eos sint, totam aspernatur, commodi quis, temporibus animi excepturi!</td>
<td>Natus quaerat, sint nemo quia laudantium dolorem asperiores deserunt neque porro esse iusto reprehenderit et assumenda ipsum saepe consequuntur soluta officiis illum maiores cumque quos voluptate expedita tenetur eum autem!</td>
<td>Asperiores ducimus accusantium aliquid nemo aliquam fugiat culpa maxime repudiandae pariatur minus. Eum incidunt iste molestias officiis sunt nostrum facilis velit. Reprehenderit quis aut officia quas beatae assumenda esse asperiores.</td>
<td>Architecto, nam consequuntur odit distinctio! Suscipit fuga nam reprehenderit, nostrum modi provident iusto aperiam alias qui. Optio repudiandae reiciendis, omnis esse maiores! A blanditiis ducimus voluptate nobis exercitationem. Temporibus, vel!</td>
<td>Similique et est omnis fuga, ad earum sapiente. Nam qui est quidem. Dignissimos amet harum voluptate a, sint culpa autem et neque, natus quod cum eos laudantium molestias, dolorem optio.</td>
<td>Saepe aspernatur consequuntur sint nisi dolores nihil ab repudiandae, odio dolor, assumenda culpa corporis fugiat ullam officia quibusdam eaque enim, harum voluptatem eveniet reprehenderit natus consectetur deleniti nesciunt et! Omnis!</td>
<td>Nihil quas quod numquam ut fugiat doloremque repudiandae animi iusto. Ullam quidem ipsa dolorem quos veritatis adipisci quisquam obcaecati culpa et consequatur, aspernatur unde eligendi rerum labore ab odit asperiores.</td>
<td>Hic, aliquam, harum? Harum tempora accusantium animi ratione id perspiciatis quasi maiores iste odio quisquam, adipisci, laudantium cupiditate voluptatem mollitia soluta sunt eveniet facere quibusdam aspernatur? Suscipit obcaecati dolorum eligendi.</td>
<td>Possimus natus, dignissimos vero nesciunt cum voluptatibus reiciendis commodi maxime voluptates qui illo quia distinctio tempora perferendis fugit modi itaque, quis recusandae quisquam quos ullam alias! Voluptatum repellat mollitia incidunt.</td>
<td>Quod in ducimus, saepe obcaecati, eius vero ipsa ea cum reprehenderit velit sunt numquam eaque sapiente dolorem, possimus id nostrum natus eligendi accusamus nulla voluptatibus necessitatibus harum vitae. Dolorum, praesentium.</td>
<td>Ab iusto, dicta deleniti explicabo perspiciatis pariatur deserunt blanditiis vel accusantium. Tempore architecto fugit cum similique laudantium et veritatis id, quos deleniti eaque voluptatum laboriosam, natus commodi itaque veniam vel.</td>
<td>Dignissimos, quis excepturi, ratione nemo minima tenetur possimus. Quos eum placeat veniam voluptas, tempora, aliquam? Dolores ipsum obcaecati nisi itaque dolor, officiis quidem minima, nesciunt molestias facilis cupiditate repellat sequi.</td>
<td>Dolores asperiores quidem totam illo veniam! Natus architecto nulla et asperiores modi quaerat, sed! Quam cum rem voluptatibus, rerum pariatur deserunt fugit odit, totam blanditiis animi nulla nisi facilis saepe.</td>
<td>Quibusdam dolor explicabo soluta adipisci est quis aliquam tempora non, sint laudantium tempore minima inventore dolorum magni ad a rem magnam dignissimos expedita maxime numquam voluptas facere, quidem harum aliquid.</td>
<td>Facere dolorem, ullam quasi. Numquam alias maiores harum voluptate delectus quos totam architecto voluptatum, sapiente pariatur modi, autem culpa omnis facere commodi unde assumenda. Quaerat, rem deserunt. Beatae, voluptates, cum.</td>
<td>Magni pariatur eos quo perspiciatis ipsam a modi accusantium nulla fugiat officiis dolor ducimus hic, provident eius facilis quibusdam molestiae quasi, sunt, quis repellat nesciunt! Enim ipsum ducimus cumque placeat?</td>
<td>Recusandae porro, consectetur placeat, temporibus delectus nesciunt aliquid nam incidunt at ipsa accusantium hic maxime tempora dolorum! Totam reiciendis, consequatur deserunt eveniet natus, vitae ipsa voluptate repudiandae velit, quia aspernatur!</td>
<td>Et iusto ab repellat quae? Quas, ratione sapiente a, fuga voluptates, unde ullam dolores, fugit sint magnam perferendis ad quae. Magnam consequatur nisi quisquam, maiores quasi qui provident similique nobis.</td>
<td>Ab qui hic, incidunt consequuntur officia exercitationem laboriosam suscipit veritatis est deleniti, debitis reiciendis at quidem consequatur iure ut quisquam tempore delectus aut soluta sequi tenetur sed magnam nostrum. Ab?</td>
<td>Earum quis perspiciatis perferendis, rem, fugit cumque reiciendis! Porro consequatur quam consequuntur quaerat, atque praesentium adipisci fugit, dignissimos, ab labore reprehenderit provident temporibus, totam magnam illum pariatur deserunt alias cum!</td>
<td>Officiis sit quam vero nobis doloribus necessitatibus possimus. Veniam, totam! Illo magnam, ipsum consequuntur at, ipsam sit fuga rerum architecto eum libero officiis, nobis! Obcaecati incidunt, mollitia placeat eaque atque.</td>
<td>Nisi nam assumenda laudantium quos non quasi. Fuga enim, voluptatibus possimus tempora numquam dolores maiores, eum quaerat sit odit distinctio saepe optio aut accusamus explicabo, dolorem quidem consequatur. Maxime, similique!</td>
<td>Autem inventore expedita quibusdam ipsum. Consequuntur nulla in vero blanditiis deleniti dignissimos, earum eligendi voluptatibus, minus illo, perspiciatis doloremque nisi sed maiores tempora. Excepturi minima, officia incidunt vitae pariatur illo!</td>
<td>Sequi delectus dolorum, ea rem quis voluptatem accusantium quibusdam suscipit corrupti est laborum adipisci tenetur optio expedita inventore quam molestiae cupiditate totam. Rem sed, odit blanditiis eius quia vel eos.</td>
<td>Vero dolor nam quisquam reiciendis quibusdam id sapiente quia est veritatis facilis, expedita recusandae sequi iste tempora harum illum nihil. Amet laborum, accusamus soluta dolores et iure? Possimus, et? Iusto.</td>
<td>Ullam ipsum blanditiis obcaecati, rem aliquam voluptates fuga quo praesentium quia cum dignissimos debitis laboriosam itaque? Nostrum explicabo quae, rem praesentium accusantium dicta officia veritatis magni earum officiis. Inventore, ut.</td>
<td>Quisquam, ex, dolore. Voluptates porro eum, blanditiis ullam non sequi suscipit iste eius! Soluta, nam quia impedit veritatis laudantium id ea iure autem magnam sapiente, a modi omnis. Optio, animi!</td>
<td>Consequuntur amet, tenetur quidem consequatur doloremque distinctio ipsum minima, incidunt, fuga voluptatibus placeat quae autem recusandae quasi. Nihil, dolorum? Aliquid eligendi hic expedita saepe recusandae suscipit tempora tempore illum tenetur.</td>
</tr>
</table>
</div>
</div>
<div class="footer">footer</div>
</div>
I remembered an annoying quirk with flexbox, thought it might apply to grid too.
The trick is to add min-width: 0 to .main.

Can CSS make a sidebar stick (to the bottom) once you reach its end?

I have a website that has its content displayed in two columns, one being the main content, and the other a sidebar. The sidebar is not fixed, and it just scrolls naturally together with the main content.
However, if the main content is longer than the sidebar, you will eventually get to a point where there is nothing more in the sidebar, but there is more content to read (and the entire page keeps scrolling). In this scenario, i would like the sidebar to become sticky, where the bottom of the sidebar will stick to the bottom of the screen.
And the reason this is super confusing to me, is because this sort of behaviour is very achievable in the upside-down version, meaning sticking the sidebar to the top, where the top of the sidebar will stick to the top of your screen for as long as there is extra main content, and once you get to the end it will continue scrolling away naturally with the content. Like how it does here: https://jsfiddle.net/0dxLfzn8/1/
That behaviour initially made me believe that switching from top: 0 to bottom: 0 would do what i described was my desired behaviour. But I have tried that here, and it doesn't seem to do anything at all: https://jsfiddle.net/0dxLfzn8/
HTML:
<div class="container">
<div class="content">
</div>
<div class="sidebar">
<div class="sidebar__inner">
</div>
</div>
</div>
CSS:
.container {
display: flex;
}
.content {
flex: 1;
}
.sidebar {
flex-basis: 200px;
}
.sidebar__inner {
position: sticky;
bottom: 0;
}
It doesn't seem to want to stick to the bottom as it did to the top, and i don't really understand why it wouldn't. From the behaviour of top, it seems like that's what bottom should be for.
How could i achieve this (without javascript of course)?
(and it's a hard thing to look up a solution for, because the search results are filled with the sticky footer problem)
Because you are using flex. Your sidebar needs to be aligned vertically, in your case to the bottom.
So you need to add align-self: flex-end; to your sidebar.
More on position: sticky; here.
And more on position: sticky; not working because of flex here.
Also note that you should add the vendor prefix for webkit browsers when using sticky: position: -webkit-sticky;
.container {
display: flex;
}
.content {
flex: 1;
}
.sidebar {
flex-basis: 200px;
position: -webkit-sticky;
position: sticky;
bottom: 0;
align-self: flex-end;
}
.box {
margin-bottom: 1rem;
width: 100%;
height: 30vh;
background: grey;
}
<div class="container">
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet suscipit assumenda, similique atque enim odio sequi, at magni non deserunt a! Nulla pariatur illum voluptate sequi ex optio blanditiis cupiditate vitae officiis id, aliquam dolorum fugiat
itaque excepturi laudantium ipsa accusamus minima suscipit eum quis vel praesentium commodi aut nostrum. Quam veritatis sit accusantium nisi, exercitationem in facere, cumque nobis, nihil at consectetur ex aperiam voluptatem consequuntur fugit laborum
ut debitis sunt illum amet reprehenderit iusto aliquid. Tempore quo aut, consequatur voluptatibus ea corporis hic beatae cumque dolorum eius non autem error ipsa, esse facere delectus tenetur cupiditate velit ad numquam! Fuga aut obcaecati natus!
Sit sint, sed blanditiis quia quis magni facere, minima perspiciatis quos illum voluptas provident necessitatibus vel fuga doloremque aut quidem ullam eaque eum libero! Quae, cupiditate animi laboriosam. Unde, ipsum, numquam. Expedita dignissimos
autem deleniti, aliquam atque quos, perferendis deserunt porro provident, molestiae possimus adipisci cum quasi. Autem vero voluptate, nam dolore repellendus culpa a quo voluptatum. A alias dolorem aut quam, tempora ratione rerum quae adipisci assumenda
accusamus sunt, molestias quos asperiores voluptas reiciendis nesciunt, maiores culpa! Quae inventore, voluptates esse vero beatae itaque sequi mollitia quisquam id. Alias, eveniet, nesciunt! Sequi id non animi eius voluptatibus accusamus sapiente
porro fugiat esse nam, assumenda eligendi sunt temporibus! Ducimus explicabo quas, magni temporibus sint sunt necessitatibus, iste aspernatur consequatur corrupti odio aliquam molestiae? Accusamus incidunt quia molestiae, reprehenderit neque nulla,
quibusdam ratione facilis facere officiis excepturi illum sequi non dicta iure! Nobis ea earum, ex ipsam eligendi corporis doloribus eaque nesciunt recusandae voluptas voluptatibus numquam totam quas quam animi facilis excepturi porro praesentium
suscipit labore incidunt quidem quae ad error dolorum. Dolor neque et vero minima tenetur, possimus quasi. Placeat quae, ratione tempora a quis provident odio qui ea nulla laudantium reiciendis numquam dignissimos consequatur laboriosam id eveniet
iure esse consectetur. A maiores quos quasi soluta quia ad consequatur ullam nisi. Inventore repellat nesciunt quia. Aut quae, quos molestiae magnam aliquam, libero, iste labore ut distinctio amet id quis eaque, animi sunt repellat laudantium eos
dolorum unde maxime sapiente! Cum sequi libero, praesentium! Provident alias eaque vitae quidem earum, minus reprehenderit inventore fugit, nesciunt repellendus est odit voluptas voluptate eveniet architecto iusto nulla aliquam explicabo. Qui eveniet
quam eligendi illo. Tempora a perferendis itaque eos suscipit officia laudantium minus nihil voluptate doloribus! Impedit distinctio reiciendis facilis maxime ea necessitatibus assumenda fugiat non commodi iure provident earum repellat doloribus,
similique labore, atque nemo harum enim quas nostrum unde. Aspernatur culpa eveniet accusamus, ratione, dolor animi non ipsa, dicta fuga magnam nesciunt ex? Laudantium quidem perferendis fugiat maiores! Fugit labore, atque cum mollitia asperiores
perferendis. Placeat mollitia, ipsam inventore consectetur explicabo sed necessitatibus dolorem, nesciunt porro sequi repellat consequuntur dicta sint est ab non expedita dolores aut quia nobis, saepe error, exercitationem rem deserunt. Voluptates,
porro. Tempore, quam odio, provident voluptates iste optio accusantium dignissimos, perferendis fugiat officia dolores est. Officia cum deserunt aut earum quos distinctio similique tempora corporis iusto odio, nulla debitis labore atque quasi quisquam
doloremque saepe iure inventore quia, quo porro a. Sequi dolore perspiciatis culpa ratione aspernatur laudantium nam animi rem perferendis nisi dolorem veritatis, assumenda non nemo nesciunt vel. Perspiciatis facilis, nulla. Ratione voluptates beatae,
incidunt enim ea quas recusandae, deleniti laborum assumenda, magni nihil dolore velit adipisci illo quam possimus aliquam dolores. Non excepturi, vel, rem consequatur modi totam dolorem alias unde autem obcaecati corporis quae ea error sed atque
facilis voluptatum deserunt at numquam velit quod molestiae, nesciunt voluptas. Nihil, non eius necessitatibus porro incidunt labore tempore amet, adipisci aliquam, provident iste. Autem dolorum numquam nihil necessitatibus et deleniti voluptate at
quos ea nesciunt, optio sint ducimus labore, quisquam cupiditate iste laborum odio hic corrupti expedita doloribus odit. Odit quidem repellat vero facere repudiandae veniam voluptatem inventore in reprehenderit. Debitis odio laudantium atque. Repudiandae
recusandae veniam culpa, laboriosam neque reiciendis illo perferendis reprehenderit quaerat alias molestiae nobis soluta repellat et delectus maxime tempora corporis dolore esse iste! Exercitationem facere officiis quo doloribus laudantium nostrum
accusamus, qui placeat! Rem voluptatum debitis quod repudiandae facilis, dignissimos quaerat impedit laborum iste officia sed itaque quisquam id architecto. Repellat voluptatem voluptates nam error sed sint velit alias cupiditate, distinctio corrupti
soluta molestiae expedita, nihil fuga, iusto officia laborum aliquam voluptatum nulla praesentium nisi incidunt eligendi pariatur magni. Aliquam provident iste tempora vel incidunt accusantium pariatur placeat, eius sint illo quos eaque nostrum ut
illum sapiente voluptatum nam, soluta expedita saepe id voluptates. Repellat dolorum repellendus iusto nesciunt tempore ut, a ad minima perferendis voluptas odio, quidem, ex doloribus pariatur saepe. Optio voluptates dolorum est excepturi corporis
molestias commodi, tempore labore ipsum voluptas consectetur exercitationem minima. Quos excepturi ipsum harum enim repellendus earum a veritatis nemo odio quam corrupti culpa impedit, qui molestiae dolore eum, aut quia consectetur consequuntur expedita
exercitationem aliquid labore numquam. Asperiores maiores ab suscipit quis dolor quaerat. Iure, ea! Provident labore, beatae nam blanditiis dolores est saepe, dolor consequatur ipsa eum amet voluptates earum excepturi dolorum officia. Accusantium
modi neque totam a culpa, ab non ipsa, ex repellat iure ea recusandae consequuntur temporibus obcaecati id, explicabo ipsam ratione, adipisci magni sit commodi nostrum? Excepturi officiis amet tempore deleniti error asperiores cumque dolor reprehenderit
aut, molestias, officia tempora incidunt ipsa temporibus. Eveniet necessitatibus eligendi eum vitae, sed qui labore ad, commodi dicta ea veritatis magnam iure asperiores veniam dolorem iste repellendus officiis corporis suscipit dolorum excepturi.
Placeat eligendi eaque eum quibusdam, maiores recusandae. Facilis non inventore, veniam dolores animi dolorum, nihil placeat ut modi quo ratione numquam. Repellat sint nemo quos dolorem, aut assumenda consequuntur at nulla, accusamus distinctio ea
molestias veniam quo labore vitae quibusdam culpa fugit. Obcaecati officia illo possimus expedita enim, voluptatum fuga molestias facere quis assumenda, illum molestiae nulla alias quod soluta quibusdam odit. Repellendus eius enim sequi praesentium
nesciunt odit placeat doloremque eaque eos inventore quia blanditiis voluptatibus nisi, autem laborum obcaecati quod accusantium, tempore, eum ipsam, corporis quae temporibus. Consequatur id, doloremque hic esse nulla aliquam cum eos, repudiandae
optio magnam, commodi laboriosam sed dolor nesciunt! Sit quasi fugit et ut reprehenderit enim cupiditate quisquam excepturi perspiciatis fuga aliquam cum, similique autem hic nulla vitae laudantium numquam distinctio praesentium iure illum totam magnam.
Ea aliquam eius laudantium deserunt mollitia autem error cum blanditiis. Officia voluptates incidunt, officiis sunt est neque nisi rem repellendus quaerat dolores alias error esse modi eum, tenetur consequatur itaque quam nam, cupiditate ipsam odit.
Aperiam nobis, consequuntur quis temporibus dolores unde aspernatur ratione architecto sed aliquid sit, rerum dolorem natus corrupti expedita, maiores quam dignissimos accusantium maxime qui? Corporis optio reiciendis ad iusto provident facilis quod
vitae dignissimos! Aspernatur deserunt accusamus quis iure, qui, culpa vitae at, ut inventore, illo eaque facere recusandae animi nesciunt? Hic, natus sunt id nulla ducimus. Deserunt odit dolores quasi labore eligendi voluptas impedit aspernatur rerum
porro exercitationem sint, dolorem earum! Ipsum animi voluptates amet nulla, provident voluptatibus earum eos ea quos dolore aperiam hic nihil repellendus, modi molestias, pariatur neque nemo odit corporis veritatis. Suscipit quo cupiditate amet minima
maiores, ipsa ratione porro magni consequuntur, sunt, inventore et laudantium aliquam magnam dolores mollitia corporis quasi. Dicta repudiandae, doloremque quo illum voluptatem in temporibus omnis dolorum quis explicabo quasi ad quod optio excepturi
aspernatur cupiditate et veniam iusto porro amet. Sunt cum id, tempore laborum consectetur atque culpa modi ipsum corporis maiores earum quia consequuntur eum unde quae rerum odio eaque est non repellat iure. Qui, ipsam, nisi? Ut amet dicta vitae
quo blanditiis reprehenderit, debitis voluptatem nostrum, animi sint ex veritatis magni nam autem impedit dolores repudiandae! Iusto soluta sapiente velit omnis mollitia, repellendus voluptatum ullam. Doloremque velit tempora porro sunt rerum. Culpa
saepe perspiciatis officia est nam cupiditate consequatur sunt, et? Ea sint, reiciendis ipsam assumenda veritatis distinctio ut quo aspernatur, voluptates eum perferendis deserunt, error, voluptate sunt voluptatum quaerat earum hic quasi quis. Eveniet
fuga aperiam dolores cumque nobis est quae ab ullam facere quidem nesciunt et earum vitae consequuntur, amet provident minus maiores. Voluptatem aperiam, quaerat temporibus. Tenetur soluta nostrum cumque culpa sit recusandae delectus iusto optio obcaecati
repellat sint repudiandae hic id incidunt vero laborum adipisci numquam animi consequatur dolorem itaque, mollitia consectetur quos est cupiditate? Nisi asperiores delectus at voluptas, repudiandae sunt repellat? Saepe veniam beatae, maxime voluptatum
fugiat minima rerum, autem reprehenderit est sequi blanditiis officiis nisi, voluptate pariatur cum ducimus qui, error? Odio nihil neque, libero ipsam et obcaecati minus necessitatibus sequi officia quia id deleniti, provident incidunt? Amet ad dolores,
esse labore impedit, nihil explicabo obcaecati eos vel eius rem sit quia cupiditate, ipsam in deleniti magnam quod earum velit non corporis repudiandae laudantium. Nulla cumque dolores earum? Eveniet rerum fuga, perspiciatis, reiciendis, molestiae
reprehenderit impedit ab quisquam sit deleniti quos animi aliquid adipisci, placeat at magni dignissimos quis? Repudiandae nesciunt fugiat exercitationem repellat architecto sequi corrupti, non aut, in qui minus laudantium eaque, unde magni voluptas
vel deserunt necessitatibus? Adipisci laudantium eligendi quisquam nobis eos voluptatum repellat. Ab, eum id assumenda provident asperiores unde est esse dolorum repellat aliquam doloremque voluptatibus amet sunt laborum iure tempore libero eaque
ratione vitae eos suscipit similique facilis! Voluptate dolore ipsum, magnam facere, ratione ipsa nesciunt dolores, totam debitis optio expedita. Officia adipisci totam quos reprehenderit, magni, qui nostrum, fugiat sunt est error eos tempora facere
reiciendis molestiae ex doloremque voluptatibus at perferendis. Maiores impedit commodi reprehenderit facere voluptas quae fuga nihil magnam. Deserunt vero dolor possimus harum aliquam fuga eius accusamus optio ad velit voluptate sunt corporis praesentium,
voluptates alias repudiandae? Aut ex quisquam atque sapiente laborum perferendis et, ad vero fugit corporis alias facilis hic, magnam debitis deserunt quis voluptatem soluta ducimus ipsa accusamus, numquam tempore error aliquam ut tempora. Distinctio
ipsam unde quasi illum laborum possimus odio harum similique nobis? Distinctio explicabo nisi saepe, animi assumenda eius vel enim libero. Perferendis sequi est eaque porro autem architecto in nulla quod eius ratione accusantium obcaecati, quibusdam
beatae vitae harum nihil, quae quidem soluta. Repellendus et dolor laboriosam, maiores totam magni cupiditate quo ipsum autem aperiam doloribus, fuga quod, odio dolorem. Odio sed quod obcaecati reprehenderit aliquam cum, distinctio voluptatibus alias!
Necessitatibus enim quam, placeat dicta? Nulla neque recusandae ipsam nostrum asperiores magni eius rerum voluptatem, quod, dolor reiciendis necessitatibus itaque officiis, fuga nam assumenda pariatur. Minima, enim. Molestiae quae asperiores culpa!
Dolores at, nam earum debitis vitae ipsa ratione officiis, magni neque pariatur ipsam, laborum tempore accusantium eius magnam natus? Natus possimus, numquam deleniti quibusdam quaerat minima sint nobis, minus tempore incidunt repellendus temporibus,
neque mollitia consequuntur. Totam veritatis architecto, rem asperiores culpa dolor assumenda! Incidunt minus nam sequi quas ut deleniti molestiae similique sint nulla dignissimos libero magnam, quaerat, odio dolore error iure exercitationem eos et
itaque. At velit quibusdam sequi distinctio expedita aperiam, asperiores accusamus laboriosam doloribus odio, culpa, ullam ab. Earum inventore repellat fugiat, distinctio est vero magni, quia hic. Repellendus eos sapiente, totam libero dolorem praesentium
voluptatum, placeat fugit blanditiis fugiat saepe asperiores sunt, ducimus nemo distinctio aut tempora odit vero nesciunt eaque aliquid adipisci! Voluptas, autem omnis sapiente harum quas in veniam. Fugiat cum vel nemo perspiciatis temporibus asperiores
adipisci! Nobis neque nemo vero suscipit iure, est consectetur eos odit! Obcaecati illum voluptatem facilis, quos fugiat quo est minus, hic, magni error consequuntur quibusdam! Dicta incidunt non odio rerum ducimus officiis animi voluptate, excepturi
id, pariatur illum repudiandae voluptatem at asperiores alias dolor facere. Enim natus expedita tenetur fugiat, aliquid, voluptatem beatae sed sint perspiciatis distinctio! Perspiciatis quibusdam fugit repellendus, facere nihil tempora minima repudiandae
ad ducimus ullam sit necessitatibus inventore sequi qui, totam unde quo. Quia beatae animi ea similique placeat unde corporis, amet odit iure magnam, modi quibusdam id totam fugit. Ipsa ad nisi quibusdam laboriosam adipisci beatae delectus deleniti
quod ratione porro minus sapiente, sint dicta mollitia. Doloribus quasi ipsam atque, quisquam, esse cumque praesentium, velit est repellendus explicabo aut suscipit harum repudiandae veniam, ratione odio quia necessitatibus dicta optio obcaecati dignissimos.
Velit perspiciatis praesentium similique explicabo officiis, totam labore. Quaerat facere, voluptatem ab quo sed voluptates. Est sunt ratione non iste consequatur impedit sint optio, provident inventore, deserunt hic, eum. Distinctio molestias dolores,
eligendi nam enim rem atque quasi harum amet, quaerat quis, nostrum praesentium voluptas quos aperiam explicabo quae eaque maxime alias! Laboriosam quo optio esse dicta quae, voluptatem architecto voluptas, numquam adipisci itaque labore placeat tempore
atque expedita blanditiis sunt dignissimos, maiores qui pariatur. Ipsum dignissimos nulla inventore alias blanditiis corrupti illum ea, est quidem tempora id molestias, facere accusamus cupiditate et dolorum aliquam doloribus magnam placeat quia asperiores!
Nobis architecto minima ullam tempore, ad, velit at id adipisci praesentium reprehenderit ut sunt consectetur sapiente quod enim expedita beatae neque autem modi natus? Culpa qui minus ipsam corporis officiis natus cumque repellat soluta deleniti
odit dolor numquam, nihil expedita veniam, voluptate dolorem velit quia voluptas aut hic. Officia omnis iure distinctio nostrum beatae magni quo minus quam voluptates corporis. Nobis impedit dolore consectetur necessitatibus delectus esse tempore
explicabo repellat modi at praesentium ut iusto, excepturi maxime ipsa blanditiis in obcaecati fugiat, voluptatibus, consequuntur quasi corporis suscipit. Laboriosam quibusdam beatae, repellat amet molestiae illo! Consequatur nostrum, ipsa enim. Blanditiis
quas pariatur odit doloremque perspiciatis nesciunt ullam, possimus eaque a enim nihil ipsa, laborum labore illum natus aut deserunt, unde. Sequi rerum quam architecto tempore quidem nihil dicta dolor, quia harum ratione voluptatibus id tempora dolorem
aliquam, accusamus consequatur, doloremque ut assumenda. Repellat, adipisci dolores quam molestias temporibus, voluptatem aliquam voluptas voluptates repellendus vero quaerat fugiat iste neque enim beatae pariatur quisquam, ea nisi alias. Doloremque
cum qui officia sunt perferendis quibusdam placeat recusandae dolore natus provident aspernatur rem, unde in quaerat repellendus labore iusto porro sit non iure, ab perspiciatis sapiente possimus reiciendis? Blanditiis natus dolor similique, asperiores
molestiae explicabo iure! Deserunt eaque error, amet quae reprehenderit soluta voluptas ratione distinctio sunt voluptatem temporibus repudiandae id rem corporis eum doloremque et, expedita qui quidem obcaecati ipsa commodi doloribus! Rerum accusantium
facilis molestiae mollitia fuga doloribus officia omnis provident nulla soluta dignissimos atque maiores quod sit alias quasi aut nisi odit dolore, est temporibus a labore earum vel excepturi! Quo consequuntur magni labore voluptatem quia facere,
nesciunt facilis laudantium deserunt accusantium velit numquam dolor placeat sunt modi, illum commodi! Ullam harum debitis maiores possimus odit delectus repellat sed nostrum aspernatur distinctio, modi provident ad perspiciatis ipsa, ratione, ipsam
rerum. Qui autem dicta sed, quod dolores mollitia doloremque molestias aliquam asperiores cupiditate, ab, nostrum velit est id officiis tempore! Quia architecto ullam quaerat magni, dolor minus. Neque consequatur rem amet dolorem nulla aliquid repudiandae,
aliquam! Tempora voluptatum hic facere, reprehenderit fuga, autem quod libero qui, quas nihil impedit dolore odit nobis aperiam. Ab at laudantium alias, ad architecto aut. Ut nostrum sequi debitis fugiat recusandae delectus saepe deleniti quidem dolorum
eos tempore animi nihil officiis earum quos ex, et similique explicabo consectetur, voluptates? Suscipit, doloribus consequatur sed! Non quasi, eum impedit harum dignissimos sed maiores ad temporibus at quas reprehenderit laudantium officia, repellendus
dolorem tempora fugiat mollitia, vel, quos natus ratione aliquid accusantium! Rerum et dicta quas labore, possimus odit voluptatum expedita, tempora modi adipisci aut.
</div>
<div class="sidebar">
<div class="sidebar__inner">
<div class="box">first box</div>
<div class="box">2nd box</div>
<div class="box"> 3rd box</div>
<div class="box">last box</div>
</div>
</div>
</div>

CSS flexbox make main content scrollable

I have a page layout of an header, a sidebar, and a main content. I'm using flexbox to create the layout but I want only the main content to be scrollable.
* {
box-sizing: border-box;
margin: 0;
}
header {
height: 30px;
background: #000;
}
div {
display: flex;
}
aside {
width: 200px;
background: red;
height: calc(100vh - 30px);
overflow: auto;
}
.main {
flex: 1;
}
<main>
<header>
header
</header>
<div>
<aside>Sidebar</aside>
<section class="main">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi ducimus odit optio dicta placeat dolore beatae dolorum quos corporis vitae aliquid enim cumque aperiam molestiae eligendi a omnis, magni sint!
Voluptatum facere minima nulla atque quis, consequuntur minus excepturi! Id nesciunt ullam inventore commodi adipisci iure recusandae temporibus placeat perspiciatis consequuntur voluptatum ex, sint non cumque eos libero quis. Qui.
Ea ut alias, quasi recusandae unde maiores reiciendis corrupti at natus eligendi et, quas adipisci consectetur iusto eum perspiciatis rem nesciunt illum magni incidunt cum aperiam quos ipsum! Officia, autem.
Laudantium dolorem aliquid, distinctio possimus molestiae voluptates quis. Repudiandae eius id perferendis minima fugit quam, placeat saepe quae? Libero delectus corporis soluta debitis explicabo, rerum odit aliquam. Voluptatibus, delectus? Quia!
Illo, quo excepturi eveniet sint veritatis et sunt voluptas? Autem recusandae dolores totam exercitationem distinctio minima, eaque soluta saepe sint blanditiis sequi deleniti quibusdam facere reprehenderit, debitis fuga quas suscipit!
Temporibus, quam amet, ab modi assumenda minus esse, impedit vitae accusamus et ipsa! Amet quis cum labore minima corporis! Harum incidunt quae voluptas fugiat quod aut earum unde, reiciendis aspernatur.
Magni sequi doloremque, facilis iste quasi sed repudiandae repellat cum voluptas repellendus beatae ullam asperiores voluptatem cupiditate voluptatibus architecto tempora deleniti aperiam mollitia sint praesentium in! Mollitia nemo modi perferendis!
Architecto quos vel voluptate maxime iste quis impedit nam nostrum earum suscipit. A quidem repellendus exercitationem voluptatum magni facilis repellat impedit dignissimos adipisci quaerat non, doloremque laudantium neque, ipsum minima.
Explicabo nobis fugit quaerat, deleniti fuga natus, architecto minima ipsam vitae dicta, beatae voluptatem. Numquam accusamus error ducimus ut culpa maiores eveniet necessitatibus. Quo autem recusandae praesentium officia dolorem pariatur?
Deleniti voluptatem similique, rem qui exercitationem, aut fuga consequuntur pariatur quibusdam cupiditate amet vero et id hic recusandae nesciunt fugit. Doloribus est ducimus necessitatibus maiores expedita pariatur obcaecati omnis ut!
Amet itaque ut sed? Hic facilis voluptatum nulla necessitatibus nihil optio distinctio rerum omnis temporibus vero similique repellendus eveniet in velit illo obcaecati repellat aliquid possimus aspernatur, quo libero molestias.
Eaque sequi dolorum modi error cumque repellat excepturi sint, accusantium minima aspernatur quam quas expedita quae recusandae voluptatum nulla dolor ratione sit autem et perferendis. Laudantium sint est unde consectetur.
Nostrum saepe inventore nam commodi provident, repellat praesentium molestias doloribus optio porro quibusdam est voluptates labore quod at soluta mollitia, placeat, aut eos excepturi maiores ab. Fugiat nemo facilis illo?
Harum corporis inventore esse, tempora ipsum, sit necessitatibus eaque in mollitia voluptates dolorum doloremque natus ab. Quasi consequatur veniam voluptate obcaecati dolorem fuga omnis quibusdam numquam dignissimos et! A, rem.
Dolorem nihil placeat non, est odio temporibus eum voluptate mollitia, reprehenderit rem vero officiis beatae consequuntur quos cupiditate nobis aliquid iure quidem ducimus impedit ex illo necessitatibus. Qui, magnam ea!
Earum quae unde dolorem molestias at itaque magni doloremque consequuntur! Voluptatem odio dolorum, ea optio nihil deserunt eius tempore nisi. Doloremque reprehenderit non, harum eius commodi necessitatibus voluptas. Reiciendis, ratione?
Omnis fugit dignissimos esse magni rem doloremque quisquam deleniti iusto ut impedit laudantium error ab earum minima qui culpa ipsa rerum, quam, perferendis veritatis! Ut voluptatum tempore asperiores expedita voluptate.
Harum molestiae natus sapiente libero, voluptatum vero unde aut consequuntur tempore voluptatibus minima iure earum accusantium quaerat nesciunt dolorum fugiat repellat numquam et neque aliquam. Blanditiis modi illo facere autem?
Aliquid ut nam laboriosam officia qui tempora pariatur delectus, consectetur sapiente ipsum hic ab alias? Numquam aut doloribus veritatis amet quos veniam eos. Quidem laborum qui exercitationem dignissimos eaque officiis?
Fuga magni provident, excepturi, unde saepe architecto ad eum maxime amet nesciunt laudantium? Ea obcaecati reprehenderit cum sit suscipit minus dolore porro reiciendis dicta? Iusto officiis nam modi dolorem beatae.
</section>
</div>
</main>
How can I do this?
Just add it to your CSS
.main {
flex: 1;
max-height: calc(100vh - 30px);
overflow-y: auto;
}
you can add overflow Property
here is an example
body{
overflow :hidden;
}
.main {
flex: 1;
overflow-y:scroll;
height : 250px;
}
You can try the below code.
* {
box-sizing: border-box;
margin: 0;
}
header {
position: fixed;
width: 100%;
height: 30px;
background: #777;
}
div {
display: flex;
}
aside {
position: fixed;
margin-top: 30px;
width: 200px;
background: red;
height: calc(100vh - 30px);
overflow: auto;
}
.main {
margin-top: 30px;
margin-left: 200px;
flex: 1;
}
<main>
<header>
header
</header>
<div>
<aside>Sidebar</aside>
<section class="main">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi ducimus odit optio dicta placeat dolore beatae dolorum quos corporis vitae aliquid enim cumque aperiam molestiae eligendi a omnis, magni sint!
Voluptatum facere minima nulla atque quis, consequuntur minus excepturi! Id nesciunt ullam inventore commodi adipisci iure recusandae temporibus placeat perspiciatis consequuntur voluptatum ex, sint non cumque eos libero quis. Qui.
Ea ut alias, quasi recusandae unde maiores reiciendis corrupti at natus eligendi et, quas adipisci consectetur iusto eum perspiciatis rem nesciunt illum magni incidunt cum aperiam quos ipsum! Officia, autem.
Laudantium dolorem aliquid, distinctio possimus molestiae voluptates quis. Repudiandae eius id perferendis minima fugit quam, placeat saepe quae? Libero delectus corporis soluta debitis explicabo, rerum odit aliquam. Voluptatibus, delectus? Quia!
Illo, quo excepturi eveniet sint veritatis et sunt voluptas? Autem recusandae dolores totam exercitationem distinctio minima, eaque soluta saepe sint blanditiis sequi deleniti quibusdam facere reprehenderit, debitis fuga quas suscipit!
Temporibus, quam amet, ab modi assumenda minus esse, impedit vitae accusamus et ipsa! Amet quis cum labore minima corporis! Harum incidunt quae voluptas fugiat quod aut earum unde, reiciendis aspernatur.
Magni sequi doloremque, facilis iste quasi sed repudiandae repellat cum voluptas repellendus beatae ullam asperiores voluptatem cupiditate voluptatibus architecto tempora deleniti aperiam mollitia sint praesentium in! Mollitia nemo modi perferendis!
Architecto quos vel voluptate maxime iste quis impedit nam nostrum earum suscipit. A quidem repellendus exercitationem voluptatum magni facilis repellat impedit dignissimos adipisci quaerat non, doloremque laudantium neque, ipsum minima.
Explicabo nobis fugit quaerat, deleniti fuga natus, architecto minima ipsam vitae dicta, beatae voluptatem. Numquam accusamus error ducimus ut culpa maiores eveniet necessitatibus. Quo autem recusandae praesentium officia dolorem pariatur?
Deleniti voluptatem similique, rem qui exercitationem, aut fuga consequuntur pariatur quibusdam cupiditate amet vero et id hic recusandae nesciunt fugit. Doloribus est ducimus necessitatibus maiores expedita pariatur obcaecati omnis ut!
Amet itaque ut sed? Hic facilis voluptatum nulla necessitatibus nihil optio distinctio rerum omnis temporibus vero similique repellendus eveniet in velit illo obcaecati repellat aliquid possimus aspernatur, quo libero molestias.
Eaque sequi dolorum modi error cumque repellat excepturi sint, accusantium minima aspernatur quam quas expedita quae recusandae voluptatum nulla dolor ratione sit autem et perferendis. Laudantium sint est unde consectetur.
Nostrum saepe inventore nam commodi provident, repellat praesentium molestias doloribus optio porro quibusdam est voluptates labore quod at soluta mollitia, placeat, aut eos excepturi maiores ab. Fugiat nemo facilis illo?
Harum corporis inventore esse, tempora ipsum, sit necessitatibus eaque in mollitia voluptates dolorum doloremque natus ab. Quasi consequatur veniam voluptate obcaecati dolorem fuga omnis quibusdam numquam dignissimos et! A, rem.
Dolorem nihil placeat non, est odio temporibus eum voluptate mollitia, reprehenderit rem vero officiis beatae consequuntur quos cupiditate nobis aliquid iure quidem ducimus impedit ex illo necessitatibus. Qui, magnam ea!
Earum quae unde dolorem molestias at itaque magni doloremque consequuntur! Voluptatem odio dolorum, ea optio nihil deserunt eius tempore nisi. Doloremque reprehenderit non, harum eius commodi necessitatibus voluptas. Reiciendis, ratione?
Omnis fugit dignissimos esse magni rem doloremque quisquam deleniti iusto ut impedit laudantium error ab earum minima qui culpa ipsa rerum, quam, perferendis veritatis! Ut voluptatum tempore asperiores expedita voluptate.
Harum molestiae natus sapiente libero, voluptatum vero unde aut consequuntur tempore voluptatibus minima iure earum accusantium quaerat nesciunt dolorum fugiat repellat numquam et neque aliquam. Blanditiis modi illo facere autem?
Aliquid ut nam laboriosam officia qui tempora pariatur delectus, consectetur sapiente ipsum hic ab alias? Numquam aut doloribus veritatis amet quos veniam eos. Quidem laborum qui exercitationem dignissimos eaque officiis?
Fuga magni provident, excepturi, unde saepe architecto ad eum maxime amet nesciunt laudantium? Ea obcaecati reprehenderit cum sit suscipit minus dolore porro reiciendis dicta? Iusto officiis nam modi dolorem beatae.
</section>
</div>
</main>
Put your text in p tag like below.
<main>
<header>
header
</header>
<div>
<aside>Sidebar</aside>
<section class="main">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi ducimus odit optio dicta placeat dolore beatae dolorum quos corporis vitae aliquid enim cumque aperiam molestiae eligendi a omnis, magni sint!
Voluptatum facere minima nulla atque quis, consequuntur minus excepturi! Id nesciunt ullam inventore commodi adipisci iure recusandae temporibus placeat perspiciatis consequuntur voluptatum ex, sint non cumque eos libero quis. Qui.
Ea ut alias, quasi recusandae unde maiores reiciendis corrupti at natus eligendi et, quas adipisci consectetur iusto eum perspiciatis rem nesciunt illum magni incidunt cum aperiam quos ipsum! Officia, autem.
Laudantium dolorem aliquid, distinctio possimus molestiae voluptates quis. Repudiandae eius id perferendis minima fugit quam, placeat saepe quae? Libero delectus corporis soluta debitis explicabo, rerum odit aliquam. Voluptatibus, delectus? Quia!
Illo, quo excepturi eveniet sint veritatis et sunt voluptas? Autem recusandae dolores totam exercitationem distinctio minima, eaque soluta saepe sint blanditiis sequi deleniti quibusdam facere reprehenderit, debitis fuga quas suscipit!
Temporibus, quam amet, ab modi assumenda minus esse, impedit vitae accusamus et ipsa! Amet quis cum labore minima corporis! Harum incidunt quae voluptas fugiat quod aut earum unde, reiciendis aspernatur.
Magni sequi doloremque, facilis iste quasi sed repudiandae repellat cum voluptas repellendus beatae ullam asperiores voluptatem cupiditate voluptatibus architecto tempora deleniti aperiam mollitia sint praesentium in! Mollitia nemo modi perferendis!
Architecto quos vel voluptate maxime iste quis impedit nam nostrum earum suscipit. A quidem repellendus exercitationem voluptatum magni facilis repellat impedit dignissimos adipisci quaerat non, doloremque laudantium neque, ipsum minima.
Explicabo nobis fugit quaerat, deleniti fuga natus, architecto minima ipsam vitae dicta, beatae voluptatem. Numquam accusamus error ducimus ut culpa maiores eveniet necessitatibus. Quo autem recusandae praesentium officia dolorem pariatur?
Deleniti voluptatem similique, rem qui exercitationem, aut fuga consequuntur pariatur quibusdam cupiditate amet vero et id hic recusandae nesciunt fugit. Doloribus est ducimus necessitatibus maiores expedita pariatur obcaecati omnis ut!
Amet itaque ut sed? Hic facilis voluptatum nulla necessitatibus nihil optio distinctio rerum omnis temporibus vero similique repellendus eveniet in velit illo obcaecati repellat aliquid possimus aspernatur, quo libero molestias.
Eaque sequi dolorum modi error cumque repellat excepturi sint, accusantium minima aspernatur quam quas expedita quae recusandae voluptatum nulla dolor ratione sit autem et perferendis. Laudantium sint est unde consectetur.
Nostrum saepe inventore nam commodi provident, repellat praesentium molestias doloribus optio porro quibusdam est voluptates labore quod at soluta mollitia, placeat, aut eos excepturi maiores ab. Fugiat nemo facilis illo?
Harum corporis inventore esse, tempora ipsum, sit necessitatibus eaque in mollitia voluptates dolorum doloremque natus ab. Quasi consequatur veniam voluptate obcaecati dolorem fuga omnis quibusdam numquam dignissimos et! A, rem.
Dolorem nihil placeat non, est odio temporibus eum voluptate mollitia, reprehenderit rem vero officiis beatae consequuntur quos cupiditate nobis aliquid iure quidem ducimus impedit ex illo necessitatibus. Qui, magnam ea!
Earum quae unde dolorem molestias at itaque magni doloremque consequuntur! Voluptatem odio dolorum, ea optio nihil deserunt eius tempore nisi. Doloremque reprehenderit non, harum eius commodi necessitatibus voluptas. Reiciendis, ratione?
Omnis fugit dignissimos esse magni rem doloremque quisquam deleniti iusto ut impedit laudantium error ab earum minima qui culpa ipsa rerum, quam, perferendis veritatis! Ut voluptatum tempore asperiores expedita voluptate.
Harum molestiae natus sapiente libero, voluptatum vero unde aut consequuntur tempore voluptatibus minima iure earum accusantium quaerat nesciunt dolorum fugiat repellat numquam et neque aliquam. Blanditiis modi illo facere autem?
Aliquid ut nam laboriosam officia qui tempora pariatur delectus, consectetur sapiente ipsum hic ab alias? Numquam aut doloribus veritatis amet quos veniam eos. Quidem laborum qui exercitationem dignissimos eaque officiis?
Fuga magni provident, excepturi, unde saepe architecto ad eum maxime amet nesciunt laudantium? Ea obcaecati reprehenderit cum sit suscipit minus dolore porro reiciendis dicta? Iusto officiis nam modi dolorem beatae.
</p>
</section>
</div>
</main>
Give p tag fixed height set its overflow property to scroll like below.
p {
overflow: scroll;
height: 400px;
}
Add this :
.main {
height: calc(100vh - 30px);
overflow: scroll;
}
The position sticky will keep it always to the left.
* {
box-sizing: border-box;
margin: 0;
}
header {
height: 30px;
background: #000;
}
div {
width: 100%;
display: flex;
position: relative;
}
aside {
width: 20%;
background: red;
height: calc(100vh - 30px);
position: sticky;
left: 0;
top:0;
}
.main {
flex:1;
width: 70%;
}

Firefox 33: Flexbox issue with 100% height, justify-content: space-between and child larger than 100%

I have a demo here:
https://codepen.io/EightArmsHQ/live/351dcdcc863e14419121099f647998c3
In all modern browsers, there is a red button in the sidebar after all the list items
This is done by something along these lines:
<div class="menu">
<ul />
<button />
</div>
And then the following CSS:
.menu{
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
The problem is in older versions of firefox, these lines:
height: 100%;
justify-content: space-between;
Put the button a sort of "position: absolute; bottom: 0" style of positioning.
Does anyone know of any firefox workarounds for this sort of issue? The last 36 versions of the browser work well 😂
Stack snippet
document.querySelector("#toggle").addEventListener('click', function(){
document.body.classList.toggle("toggle");
});
main {
width: 600px;
margin: 0 auto;
}
.menu {
position: fixed;
left: 0;
top: 0;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
overflow-y: scroll;
background: #fafafa;
}
.menu li {
padding: 40px 0;
}
.menu .example-a {
display: none;
}
.menu .example-b {
display: block;
}
.toggle .menu .example-a {
display: block;
}
.toggle .menu .example-b {
display: none;
}
button {
background: red;
padding: 20px;
}
<div class="menu">
<ul class="example-a">
<li>Ipsa.</li>
<li>Non.</li>
</ul>
<ul class="example-b">
<li>Beatae.</li>
<li>Consequatur.</li>
<li>At!</li>
<li>Nam.</li>
<li>Quidem.</li>
<li>Accusamus!</li>
<li>Ipsum.</li>
<li>Cumque.</li>
<li>Recusandae.</li>
<li>Veniam.</li>
<li>Omnis?</li>
<li>Vitae?</li>
<li>Ut.</li>
<li>Alias.</li>
</ul>
<button>Action</button>
</div>
<main>
<button id="toggle">Toggle demo</button>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Debitis voluptatum facere minus sit hic ipsum eligendi officiis reprehenderit recusandae tenetur quaerat, provident exercitationem ex impedit beatae commodi voluptate quia sequi.</p>
<p>Tenetur sapiente minima quia labore repudiandae est, facilis laborum voluptas? Ut sequi earum, magni natus ad a doloremque non, quam sint molestiae consequatur consectetur unde. Nihil nemo voluptatem reiciendis repudiandae?</p>
<p>Laboriosam esse eius, dignissimos quasi asperiores ea doloribus, eligendi velit, deserunt eum repellendus. Sit et illum voluptatum. Inventore doloremque atque laudantium, esse id dolore itaque placeat quasi veritatis, quae sequi?</p>
<p>Ea architecto voluptate id blanditiis beatae quas dolore amet mollitia maiores error deserunt nulla enim natus dicta, sint accusamus minus quis quam! Dignissimos officia blanditiis dicta nulla consequuntur eum error?</p>
<p>Reiciendis voluptates quae adipisci perferendis ullam molestiae, sint corporis laudantium vitae alias blanditiis iure voluptatum voluptas autem? Alias iste numquam porro voluptatem provident pariatur possimus sequi dignissimos. Fuga, molestias ex?</p>
<p>Consectetur non laborum mollitia optio accusantium, ratione provident voluptas exercitationem soluta quam totam harum quaerat vel fugiat modi minima ab fuga. Dolore velit deserunt numquam nostrum in vero impedit. Maiores.</p>
<p>Saepe consequuntur dignissimos, maxime distinctio est commodi aspernatur, inventore dolorem ducimus, cumque odio nisi reprehenderit animi? Earum alias maiores, adipisci quis enim iure? Dolorum explicabo ipsa accusamus, vero corporis earum?</p>
<p>Eos aperiam nisi debitis accusantium suscipit soluta dolorum fuga quas? Nesciunt a nisi alias officia saepe esse excepturi tenetur accusamus minus autem, earum corporis impedit ipsum veniam voluptates magni aperiam!</p>
<p>Vero ipsum ab repellat dolores rem odit quis aperiam dolore, esse dolorum eveniet dicta, quo aliquam numquam quam voluptates. Officia deserunt quisquam dicta voluptatibus molestias, nulla tempora sit voluptates vitae!</p>
<p>Sint a eligendi magnam, voluptatum accusamus adipisci enim consequatur labore pariatur, id nostrum omnis maxime quae ipsam fugiat fugit? Rerum in repellendus libero porro veritatis nam odio consequatur et nobis!</p>
<p>Dolorum vero tempore aspernatur, quos saepe minus ratione, officiis eveniet numquam quibusdam maxime obcaecati facilis similique? Nesciunt maxime officiis voluptatem amet dignissimos illum quos maiores, veniam consequuntur quisquam doloribus delectus!</p>
<p>Alias voluptate id optio, illo aperiam libero cum repudiandae impedit porro officiis iste enim officia! Reprehenderit quidem qui nobis, sed, reiciendis repudiandae rerum, consequuntur doloribus consequatur eos id molestias officiis?</p>
<p>At vel quo beatae laborum eius, quaerat distinctio eveniet eaque veritatis, doloremque quae minus illo numquam harum labore suscipit quasi fuga quas quisquam saepe. Quisquam id excepturi quae veniam officia.</p>
<p>Ex rem animi voluptatibus. Sunt maxime impedit quae neque nesciunt reprehenderit inventore obcaecati eaque corrupti, labore distinctio consectetur quod? Voluptate, error. Aut hic eos dolor praesentium modi porro non temporibus?</p>
<p>Ipsa accusantium, quod aliquid esse est velit tempora nam rerum sequi magni minima assumenda asperiores dolorem dolorum dolore molestiae corrupti nemo nulla quos beatae expedita vel laudantium numquam! Ipsum, recusandae.</p>
<p>Architecto ipsam quia laborum repudiandae a similique ducimus vitae explicabo excepturi ut quos repellendus velit iure, quis quo, eligendi illo pariatur mollitia. Iusto aperiam quibusdam quae libero natus quasi repellendus.</p>
<p>Distinctio consequatur nihil voluptatum itaque esse dolore neque eum voluptate, laborum officiis veritatis reiciendis eos! Tempore perferendis excepturi ratione culpa repellat quae eaque. Officia rem, suscipit aut sunt assumenda repellat!</p>
<p>Modi, vitae veritatis officiis perferendis cupiditate itaque labore, maiores fugit tenetur deserunt ipsam, consectetur fuga delectus nisi reprehenderit! Aut error eligendi assumenda modi rem necessitatibus praesentium vel, quos tenetur recusandae?</p>
<p>Perspiciatis iure nihil velit repellat, voluptas similique nesciunt aliquam itaque possimus facere, dolorem et dolor repellendus impedit. Quia voluptatum, nesciunt itaque recusandae esse provident temporibus quos. Deleniti architecto fugit magnam.</p>
<p>Voluptates, fugit culpa est commodi, unde suscipit porro officia ut obcaecati possimus exercitationem assumenda beatae aut, rerum non velit repellat odit earum nihil! Mollitia pariatur beatae tenetur aliquam optio provident?</p>
<p>Ipsum velit atque debitis magnam, natus recusandae cumque, assumenda harum in eaque nisi eos sint, quidem corrupti! Quos officiis ipsa quasi neque sed commodi repellendus, adipisci ut minus? Repellat, qui.</p>
<p>Rem labore voluptatibus maiores molestiae, harum repudiandae est, deleniti, numquam odit ut nesciunt adipisci? Ea, accusamus quaerat! Quam doloribus, error sapiente enim voluptatem laborum architecto consequatur a maiores harum asperiores!</p>
<p>Blanditiis explicabo tempora saepe consequuntur sunt eligendi nobis. Impedit debitis autem ea animi, recusandae in quia inventore, veniam, velit cumque vero aut? Earum adipisci omnis temporibus consequatur natus, accusantium rem!</p>
<p>Totam, hic velit quaerat incidunt fugiat corrupti soluta culpa earum est excepturi inventore obcaecati omnis vero at veniam nisi vitae, atque similique ullam nemo molestias nesciunt sint. Temporibus, aperiam earum.</p>
<p>Voluptates molestias architecto est nesciunt amet commodi similique omnis. Soluta hic corrupti dignissimos. Sed officiis aliquam fugit, libero odio maiores alias recusandae deserunt incidunt, saepe reiciendis modi voluptatem praesentium id!</p>
<p>Impedit porro velit illo tempore veniam saepe, ea nesciunt deserunt repellendus accusantium aliquam quam dolor quisquam voluptas quis. Eaque iusto provident ipsum officia odio maxime dolorum expedita ducimus tempore molestiae?</p>
<p>Culpa fugit autem aspernatur, assumenda ex ut rem repellendus vero consequatur laboriosam labore dolorem. Quia voluptas est commodi sit sequi veniam nobis nam, nisi soluta ducimus reiciendis, voluptatibus earum praesentium!</p>
<p>Eaque amet ab porro provident laudantium alias, deserunt consequatur error optio nihil incidunt repudiandae mollitia, laboriosam, sunt voluptatum eos magnam odit molestias. Quia eveniet facilis inventore, eum ipsam dolorum officia!</p>
<p>Beatae possimus fugit saepe! Saepe, porro quisquam. Nemo molestias assumenda aut, ullam deserunt cumque porro architecto harum. Nam soluta, repellat voluptatem nihil minima nemo tempore perspiciatis, beatae deleniti, a deserunt?</p>
<p>Eveniet nesciunt eaque quis eum? Non facere voluptatem eveniet adipisci labore sit, impedit dolor iusto odio totam beatae tenetur possimus assumenda porro sint ab debitis maxime quasi. Sapiente, tenetur asperiores?</p>
<p>Voluptatem quidem illum atque ipsam tenetur voluptas. Voluptate debitis sunt numquam? Similique aliquam, illo porro ab doloribus tempora, distinctio error officia quidem, culpa in dolores consequatur neque reiciendis quia soluta.</p>
<p>Laboriosam consequuntur nihil inventore repudiandae cumque eum animi beatae quibusdam, exercitationem perferendis harum reprehenderit, iusto nemo! Ipsum ad at assumenda nisi sapiente eos aut reiciendis, eum est? Ducimus, numquam odit?</p>
<p>Corporis nihil eligendi nam doloribus sed explicabo minima, expedita optio omnis aliquam. Nulla autem harum cum odio quam quas aperiam quae, deleniti ea assumenda. Porro et sed dicta quos nihil.</p>
<p>Perferendis minima quasi debitis! Deleniti aut consequuntur ratione modi sit, sapiente itaque doloremque fuga, expedita atque consectetur nulla error illo rerum ullam iste fugiat dolorum blanditiis architecto magni. Provident, magnam.</p>
<p>Facere itaque ipsa laboriosam, vero explicabo illum optio consectetur quas et harum quis hic ullam nihil debitis sit veritatis delectus, nam ducimus adipisci, excepturi fugiat! Optio eius alias non explicabo.</p>
<p>Consequuntur voluptatibus, temporibus sint rem error voluptatem nisi totam harum perspiciatis. Quis rerum vero aperiam ea? Cumque iure non animi reiciendis dolorem quia vitae, aspernatur magnam asperiores optio distinctio necessitatibus.</p>
<p>Obcaecati placeat nihil doloribus eligendi in nobis porro. Nesciunt, dolorem veniam perferendis laboriosam tempore sequi pariatur provident quis voluptatibus officia suscipit nostrum rem quos, unde animi nulla minus ullam aliquid.</p>
<p>Dolorem asperiores earum nobis repellat laboriosam hic nihil, rem eveniet harum dicta ullam amet modi laudantium! Nemo inventore, quis praesentium ipsa saepe eveniet non recusandae dolorum? Doloribus voluptatum optio veniam.</p>
<p>Similique vero laborum in dolor, at dolores. Suscipit quidem aut consequuntur? Deserunt modi aliquid quisquam in iure eaque fugiat ipsam unde, laborum magni optio, amet illum labore neque natus maxime.</p>
<p>Voluptatem et dolorum vero quo cupiditate deserunt atque suscipit sit nobis qui saepe reiciendis dicta, dignissimos harum, nostrum ipsam! Sed rem corporis maiores labore porro accusamus, atque aspernatur libero magnam!</p>
<p>Veritatis, non? Libero, reiciendis asperiores! Amet placeat at, quo quis molestiae et, odio odit molestias excepturi modi explicabo perspiciatis itaque numquam eius doloremque in repellat eveniet temporibus qui dolor totam.</p>
<p>Ducimus, accusantium doloremque error deserunt recusandae doloribus ut delectus veritatis libero illo? Molestiae, recusandae dolore ut enim veniam, totam omnis explicabo, ducimus provident beatae odit atque expedita dignissimos optio animi.</p>
<p>Corporis quidem quas odit blanditiis possimus dicta in, ad consectetur accusantium est facere vitae distinctio obcaecati quasi praesentium officiis quaerat debitis sint error cum laudantium nesciunt nisi. Cupiditate, officia a.</p>
<p>Hic ratione pariatur magni veniam optio, repellendus, adipisci soluta perferendis beatae eligendi numquam, facere eum inventore aperiam. At officiis ad facere officia corporis id reprehenderit, sapiente illum aperiam obcaecati nam!</p>
<p>Neque consequuntur, error nisi earum tempore cupiditate illum eligendi vel ducimus accusamus cumque optio, magnam sint voluptas? Perferendis provident sunt aperiam repellendus at placeat nesciunt repudiandae nostrum, laudantium officiis architecto!</p>
<p>Commodi aut soluta ducimus repudiandae aliquam ipsa. Laboriosam, asperiores? Possimus, ut, ratione alias necessitatibus dolorem, quas nostrum dolor architecto voluptas reiciendis eveniet natus suscipit ipsa labore odit nemo repellat. Maxime.</p>
<p>Rem dolore explicabo optio vitae repudiandae nam non similique quisquam dolorum inventore est iure ut architecto, voluptatum minima sapiente nesciunt nobis, atque ratione, incidunt exercitationem? Numquam omnis consequatur at architecto.</p>
<p>Perferendis ipsam, magnam maxime eligendi aliquam quae qui illo magni rerum, sequi unde fuga natus vero a numquam tenetur nisi distinctio ad ab quidem. Fugit ut earum natus magni in.</p>
<p>Optio nihil, beatae veniam cupiditate id facere delectus earum at, magnam, voluptatibus veritatis aliquid excepturi aperiam repudiandae esse tempora animi obcaecati! In fuga rem quisquam iste beatae odio magni sit!</p>
<p>Quaerat sequi ea distinctio voluptas odio excepturi ducimus aspernatur, itaque possimus, molestias ut voluptatum quam earum in aperiam blanditiis assumenda voluptatibus tenetur, doloremque pariatur illo inventore esse laborum vel! Esse.</p>
</main>
I specially download Firefox V.33 and find solution, Below is my code.
But i must say please update your browser, the latest version is 70 approx so, i hope you understand.
Here we go.
Create a div inside main class and give css it:--
display: flex;
flex-direction: column; justify-content: space-between; min-height:
100%;
You can put my code and check in your browser and do let me know it's help or not.
HTML
<div class="menu">
<div class="outer" style="display: flex; flex-direction: column; justify-content: space-between; min-height: 100%;">
<ul class="example-a">
<li>Lorem.</li>
<li>Rerum.</li>
</ul>
</div>
</div>
CSS
.menu {
position: fixed;
left: 0px;
top: 0px;
overflow-y: scroll;
height: 100vh;
}
.outer {
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 100%;
}

Dropdown contents are fixed to the screen when vertical scrolling

i want to display dropdown menu upon clicking a button. But the dropdown menu is displayed not close to the button clicked and remains fixed when scrolling page vertically. Below is the code
<div>
<div onClick={this.handle_click}>
{toggle}
</div>
{this.movie_list.opened &&
<div className="dropdown_contents">
{React.Children.map(
contents,
(child, index) => { return (
child && <div
key={index}
className="dropdown_item"
onClick={this.handle_item_click}>{child}
</div>); }
)}
</div>
}
</div>);
css is as below
.dropdown_wrapper {
position: relative;
}
.dropdown_contents {
position: absolute;
background-color: $white;
/*position: absolute;*/
box-shadow: 0 8px 14px 0 rgba(6,28,63,0.3);
z-index: 10;
}
.dropdown_item {
min-width: 150px;
min-height: 40px;
display: flex;
padding: 8px;
align-items: center;
cursor: pointer;
}
when i add the class dropdown-wrapper to the topmost div element like below in the above code
<div className="dropdown_wrapper">
<div onClick={this.handle_click}>
{toggle}
</div>
The dropdown menu is not visible properly. I see that its hidden between some other element. Could some pls help with this. thanks.
You set the position on your wrapper to relative and set the z-index for your absolute positioned dropdown element.
.dropdown_wrapper {
position: relative;
}
.dropdown_contents {
background-color: orange;
width: 100px;
position: absolute;
top: 100%;
left: 0;
z-index: 100;
}
<div class="dropdown_wrapper">
<button>
Button
</button>
<div class="dropdown_contents">
<div>Item</div>
</div>
</div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi consequatur perspiciatis suscipit labore accusamus debitis adipisci praesentium accusantium dolor, possimus, itaque? Accusantium voluptate autem aperiam, recusandae facere ea eligendi temporibus qui deserunt nam commodi rerum aspernatur hic repellendus numquam odio deleniti. Modi beatae voluptate similique illo necessitatibus in, vero eaque. Aspernatur quis vero architecto natus laudantium non ullam necessitatibus, dolores commodi doloremque beatae? Atque reiciendis, minima deserunt ipsa temporibus perferendis facilis magnam ratione, nemo nobis. Placeat veritatis sunt officiis at officia dolore porro, obcaecati vero! Aspernatur magni sapiente quisquam maiores ducimus cumque sunt eos modi amet reiciendis, et, laudantium nihil.</p>
<p>Quis incidunt numquam, illum aut perspiciatis quae eum pariatur reprehenderit laborum a consequuntur aspernatur, atque ratione rem nisi unde quidem harum ab dignissimos consectetur cupiditate earum maxime temporibus. Illum rem, fugit, quidem tempore excepturi necessitatibus minima enim id similique esse, inventore, quod! Consequatur est ea, in deserunt? Fugiat assumenda omnis illo eveniet suscipit commodi nostrum quos cum odit earum. A, natus iusto repellat sint aspernatur nobis nostrum, qui fuga fugiat eligendi molestiae eius rem reiciendis architecto id temporibus ratione. Quasi officia quia, dolorum voluptate, quam libero voluptates vitae error nostrum officiis in. Impedit eos hic fuga incidunt cum vitae ex.</p>
<p>Magnam ut, quidem fugit dignissimos! Debitis praesentium, sed laborum ea repellendus itaque quisquam nesciunt possimus veritatis reprehenderit unde quidem, dolorum iste! Neque quos voluptate odio iusto quis, corporis cupiditate qui provident similique, rerum ratione, minima aspernatur. Cupiditate est laudantium, accusamus cum quas, ab rerum, consequatur nihil et itaque excepturi debitis quod quidem ducimus eaque minima libero doloribus reprehenderit inventore. Fugiat nulla, cupiditate eum quam, non vero magnam accusantium, numquam, rem laborum rerum quaerat. Nulla fugit repellendus iusto neque expedita esse ullam pariatur, quae fugiat modi asperiores unde alias voluptates quas ad quos dicta, soluta voluptatibus. Itaque totam quisquam modi temporibus.</p>
<p>Atque amet ducimus quibusdam voluptas, recusandae natus, doloremque reiciendis. Est sit non possimus libero at animi illo beatae nihil excepturi quos omnis, atque repellendus esse harum similique debitis delectus voluptate! Fugit saepe incidunt eos voluptatibus, dignissimos excepturi obcaecati velit expedita odit ipsum placeat molestias unde esse cupiditate laborum ratione nihil veniam totam rem magnam recusandae itaque, doloribus aut commodi. Amet, illum quae necessitatibus sint similique, velit officiis tempora neque corporis rem, ipsam ad maxime distinctio ea. Eius, inventore? Amet corporis fuga sed, perferendis quam ut dignissimos a molestiae. Cupiditate, saepe, totam. Ratione laborum a eaque. Recusandae, illum incidunt eum eveniet?</p>
<p>Porro autem veniam doloribus aliquam, repellat excepturi libero maiores soluta cumque impedit eligendi cupiditate quo, recusandae nesciunt ex optio, voluptas quia sit. Nobis nisi soluta, ab odit quae. Quia, minus placeat numquam, quisquam adipisci vel quaerat omnis quae! Ut odit, rerum. Fugiat totam dolores itaque sint repellat quo, aliquid obcaecati quasi ducimus architecto minima commodi eum quod qui laboriosam maiores voluptatibus. Debitis nulla autem soluta doloribus ipsa hic, harum mollitia incidunt sapiente, pariatur velit veniam maiores, repudiandae, consequatur quae accusantium at cupiditate illum dignissimos reprehenderit. Facere tenetur, voluptates dicta nesciunt, aliquam, neque cum est mollitia veritatis sequi magnam et cumque.</p>
<p>Explicabo possimus laboriosam quas facilis vero impedit modi enim iusto tempora magnam, at, ratione, amet qui consectetur. Alias est accusantium molestiae consectetur non enim ipsam harum, a, magnam sequi praesentium doloremque at iure iusto unde obcaecati veniam laudantium quidem quos molestias, doloribus quae id quod aliquid commodi. Unde sequi dicta doloremque dolorum repellat ipsam. Sit eos iusto reiciendis tempore hic magni corporis molestias, delectus consequuntur non obcaecati neque voluptatum assumenda, aut rerum iure autem tempora reprehenderit cumque tenetur quibusdam nihil facilis, nemo eveniet nesciunt. Totam, ea, explicabo. Iure veniam neque, consequuntur rem, libero obcaecati eius dignissimos exercitationem. Consequuntur, libero, temporibus.</p>
<p>Ad magnam corporis iure culpa dolorem vero quia, neque, ipsa quas. Qui odio perspiciatis debitis aperiam asperiores, nobis, velit ipsum tempora fuga possimus tenetur eos reprehenderit non ratione. Nesciunt inventore, suscipit architecto eligendi, nemo omnis minus. Quisquam et minima animi accusamus eligendi. Ullam pariatur, quia quidem molestias dolores, expedita. Vero magni tempore aliquid iure tenetur mollitia hic unde obcaecati enim at amet adipisci cum fugiat quam fuga eveniet saepe illum, reiciendis! Atque suscipit molestiae ex assumenda, consequuntur voluptates aliquid voluptatum excepturi optio velit facere reiciendis voluptate natus soluta asperiores praesentium necessitatibus id omnis. Explicabo laborum earum, dolore tenetur, ipsam numquam.</p>
<p>Dolorem eos, quaerat officiis nobis. Officiis rem eligendi temporibus dolore expedita, similique reiciendis ab magnam, inventore eaque fugiat nobis voluptatem voluptatum dolorum obcaecati excepturi molestias iusto unde aperiam a velit. Quasi minima perspiciatis dolor inventore, quisquam laudantium porro veniam possimus, dignissimos suscipit, ipsum aliquam iste nulla aut incidunt praesentium tenetur doloribus laborum ab animi. Neque hic, tempore enim eius accusantium fugiat architecto, assumenda laborum sit aut cumque natus, magni voluptatem iusto eligendi est modi unde aliquam quaerat. Perspiciatis quidem, cumque ex libero accusamus, magnam consequuntur quis similique facilis! Fuga dignissimos fugit suscipit harum hic blanditiis amet magnam nam cumque nostrum.</p>

Resources