Why my "Position: sticky" is not working? [duplicate] - html

This question already has answers here:
Why bottom:0 doesn't work with position:sticky?
(2 answers)
Closed 5 months ago.
Other positions are working good, but when I try sticky its not working. I want the parent container to stick at my bottom of page.
.control-con {
position: sticky;
bottom: 0px;
width: 100%;
}
<section class="control-con">
<article class="controls">
<input type="range" name="playbar" class="playbar">
</article>
</section>

Sticky depends on the placement and the content added in the HTML.
If the positioned element is set to bottom, content has to precede it, like so:
.control-con {
position: sticky;
bottom: 0px;
width: 100%;
}
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum sem dui, nec mattis nunc convallis ut. Proin posuere placerat risus, ut semper lorem varius ac. Curabitur consequat ex sed sem ultrices, quis ornare elit mollis. Fusce eu tristique enim, quis bibendum lectus. Nulla magna magna, maximus in urna et, mollis luctus lectus. Praesent augue mi, rhoncus eu ligula in, aliquet imperdiet neque. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut efficitur gravida velit. Aliquam et libero lacinia, mollis metus vel, finibus risus. Pellentesque mollis augue ac condimentum mollis.
In lacinia congue porta. Curabitur augue felis, ultricies in velit et, egestas sagittis neque. Donec nec tristique tortor. Mauris tempor erat risus. Nullam vel congue ligula. Sed nulla sem, venenatis nec iaculis sed, ornare eget ante. Etiam efficitur magna vel ligula porta, nec porttitor turpis tempor. Curabitur at tempor erat. Aliquam venenatis consectetur dui. Integer id ipsum eleifend, dictum justo at, finibus nibh.
Fusce dignissim vulputate elit, a pulvinar ipsum fringilla at. In lacinia felis libero, sit amet placerat erat molestie at. Duis laoreet metus nec nunc semper convallis. Nulla lacus est, suscipit at aliquam et, mattis dignissim nibh. Donec id quam massa. Praesent posuere sagittis erat, non aliquet tellus dictum sollicitudin. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus justo dolor, cursus tempor orci sed, cursus cursus lacus.
Phasellus ullamcorper justo a turpis commodo, et semper neque vehicula. Ut facilisis nisl eleifend ex feugiat blandit. Aenean mollis euismod orci sit amet condimentum. Nulla varius lorem eu ex rutrum, et imperdiet est placerat. Nunc eu sem molestie, laoreet ipsum eu, condimentum lacus. Maecenas ut ipsum mi. Morbi in suscipit orci.
Donec vel diam et tortor ultricies commodo. Donec in enim quis urna pharetra congue. Nunc dignissim volutpat elit eu suscipit. Aenean et porta orci. Etiam lobortis malesuada nisi vitae feugiat. Quisque purus lectus, aliquam quis suscipit vitae, porta vitae arcu. Integer maximus turpis quis volutpat blandit. Sed et commodo nisi. In risus tellus, eleifend ac finibus nec, viverra id arcu. Aenean elit diam, mattis porta aliquam eget, sagittis a dolor. In feugiat sapien fringilla dignissim viverra. Aliquam non dolor fermentum, congue tellus sed, tincidunt est. Ut finibus iaculis purus vitae rhoncus. Morbi dignissim leo tincidunt mattis lacinia.</div>
<section class="control-con">
<article class="controls">
<input type="range" name="playbar" class="playbar">
</article>
</section>
Else if we set the element we want to stick to top, the content has to come after it in order for it to work:
.control-con {
position: sticky;
top: 0px;
width: 100%;
}
<section class="control-con">
<article class="controls">
<input type="range" name="playbar" class="playbar">
</article>
</section>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum sem dui, nec mattis nunc convallis ut. Proin posuere placerat risus, ut semper lorem varius ac. Curabitur consequat ex sed sem ultrices, quis ornare elit mollis. Fusce eu tristique
enim, quis bibendum lectus. Nulla magna magna, maximus in urna et, mollis luctus lectus. Praesent augue mi, rhoncus eu ligula in, aliquet imperdiet neque. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut efficitur gravida velit. Aliquam
et libero lacinia, mollis metus vel, finibus risus. Pellentesque mollis augue ac condimentum mollis. In lacinia congue porta. Curabitur augue felis, ultricies in velit et, egestas sagittis neque. Donec nec tristique tortor. Mauris tempor erat risus.
Nullam vel congue ligula. Sed nulla sem, venenatis nec iaculis sed, ornare eget ante. Etiam efficitur magna vel ligula porta, nec porttitor turpis tempor. Curabitur at tempor erat. Aliquam venenatis consectetur dui. Integer id ipsum eleifend, dictum
justo at, finibus nibh. Fusce dignissim vulputate elit, a pulvinar ipsum fringilla at. In lacinia felis libero, sit amet placerat erat molestie at. Duis laoreet metus nec nunc semper convallis. Nulla lacus est, suscipit at aliquam et, mattis dignissim
nibh. Donec id quam massa. Praesent posuere sagittis erat, non aliquet tellus dictum sollicitudin. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus justo dolor, cursus tempor orci sed, cursus cursus
lacus. Phasellus ullamcorper justo a turpis commodo, et semper neque vehicula. Ut facilisis nisl eleifend ex feugiat blandit. Aenean mollis euismod orci sit amet condimentum. Nulla varius lorem eu ex rutrum, et imperdiet est placerat. Nunc eu sem molestie,
laoreet ipsum eu, condimentum lacus. Maecenas ut ipsum mi. Morbi in suscipit orci. Donec vel diam et tortor ultricies commodo. Donec in enim quis urna pharetra congue. Nunc dignissim volutpat elit eu suscipit. Aenean et porta orci. Etiam lobortis malesuada
nisi vitae feugiat. Quisque purus lectus, aliquam quis suscipit vitae, porta vitae arcu. Integer maximus turpis quis volutpat blandit. Sed et commodo nisi. In risus tellus, eleifend ac finibus nec, viverra id arcu. Aenean elit diam, mattis porta aliquam
eget, sagittis a dolor. In feugiat sapien fringilla dignissim viverra. Aliquam non dolor fermentum, congue tellus sed, tincidunt est. Ut finibus iaculis purus vitae rhoncus. Morbi dignissim leo tincidunt mattis lacinia.</div>
You just have to place content before the sticky element inside the HTML, and it will work.

Related

overflow auto scrollbar showing on the whole page instead of only <main>

I have a header and main html tags. The header is a navigation bar with position: sticky and top: 0 and the main is a content container with overflow: auto. I would expect that the scroll bar would only be visible on the main element, but it is visible over the header as well.
How do I make only the content of the main tag scrollable?
.main {
overflow: auto;
}
.header {
width: 100%;
height: 70px;
background-color: red;
position: sticky;
top: 0;
}
<header class='header'></header>
<main class='main'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris et felis quis risus vehicula rhoncus nec sed arcu. Nunc ipsum sapien, lacinia vitae dolor at, ultricies semper augue. Proin ultrices id magna eget consectetur. Phasellus euismod felis elit,
in varius lectus malesuada ac. Proin venenatis interdum ex sit amet vehicula. Sed feugiat tristique ante sed luctus. Proin lorem lacus, iaculis a nisl posuere, ullamcorper molestie neque. Fusce venenatis tellus non tellus dignissim, a lacinia augue
volutpat. Sed varius nulla in lectus suscipit, vel dapibus mi eleifend. Cras non urna dignissim, convallis velit eget, fermentum leo. Curabitur in efficitur ante. Duis hendrerit purus ut felis porttitor, quis rutrum ipsum consectetur. Nulla scelerisque
turpis risus, sit amet commodo tortor porttitor nec. Mauris dignissim molestie urna quis consectetur. Nulla elementum magna libero, in egestas felis ultricies nec. Phasellus lacinia dolor at tellus tincidunt venenatis. Etiam lorem nibh, molestie vitae
nisi eu, sodales feugiat libero. Nunc quis porta erat. Pellentesque luctus efficitur lacus sed dapibus. Etiam malesuada sodales augue lacinia pulvinar. Integer non consectetur nisi, non convallis ex. Aliquam erat volutpat. Integer ornare commodo dapibus.
Mauris nunc urna, aliquet vulputate lacus sit amet, mollis laoreet nisi. Donec turpis nibh, sagittis id ipsum ut, laoreet convallis erat. Fusce quis enim dapibus, pulvinar neque sit amet, tincidunt nulla. Proin nisl arcu, dapibus maximus leo et, imperdiet
iaculis nunc. Duis placerat, orci et congue accumsan, lorem sem aliquet ex, nec suscipit odio mauris eu mauris. Praesent nec risus molestie, faucibus urna vitae, posuere sapien. Ut ac condimentum ante. Aliquam ullamcorper eget nisi vel lobortis. Donec
pulvinar aliquam tellus, at sodales nisi tincidunt elementum. Ut elementum mollis libero cursus porta. In feugiat ligula non nisi luctus, non euismod urna rhoncus. Nunc vitae nunc at lectus elementum varius vel sit amet orci. Aliquam sodales id odio
vitae volutpat. Pellentesque cursus, lacus vel hendrerit sollicitudin, metus purus dapibus turpis, quis faucibus ex tortor ac magna. Nulla scelerisque cursus turpis. Nunc ullamcorper justo sit amet justo ultrices posuere. Integer faucibus, orci ac
efficitur interdum, sem velit euismod neque, et facilisis mi enim pellentesque turpis. Nullam malesuada ex at neque varius, porta molestie metus tempor. Praesent interdum turpis eros, sit amet mollis odio tincidunt vitae. Aliquam diam mauris, consequat
vel tortor at, pulvinar mattis metus. Ut dictum ornare lectus at interdum. Suspendisse potenti. Suspendisse tincidunt lacus vitae felis commodo accumsan. Quisque congue nunc quis imperdiet iaculis. Cras faucibus felis eu porta laoreet. Nunc aliquet
quam ut massa malesuada, a ultrices orci accumsan. Ut eu ullamcorper eros, nec ultrices libero. Donec varius odio quis turpis rutrum, id ornare mi lacinia. Pellentesque commodo magna nisi, nec tincidunt arcu tincidunt id. Ut tellus neque, bibendum
vel fringilla lacinia, tincidunt a sem. Donec pretium ligula elit, eget placerat mi posuere non. Fusce sed malesuada felis, in lacinia diam. Mauris et orci est. Ut in justo pulvinar, rutrum ligula pellentesque, euismod eros. Pellentesque eu convallis
quam. Duis hendrerit nunc vitae condimentum condimentum. Curabitur et condimentum nisi, id molestie neque. Morbi vitae efficitur lorem, sit amet placerat nulla. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam eros eros, pulvinar
et imperdiet at, faucibus nec augue. Praesent malesuada viverra enim eget mattis. Phasellus volutpat, est ac sodales finibus, nulla ex tristique felis, quis tempus mauris diam ac orci. Proin est risus, egestas id pellentesque sodales, facilisis vel
massa. Maecenas id erat malesuada, efficitur mauris ut, molestie lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec vestibulum erat in ipsum tincidunt scelerisque. Praesent malesuada accumsan
mattis. Nunc quis sodales diam. Sed in consequat urna, vitae efficitur ex. Suspendisse viverra ex dolor, id vehicula est eleifend non. Aliquam et velit et diam aliquet iaculis quis quis tellus. Sed bibendum mollis dolor sed mollis. Cras et turpis
mollis, eleifend augue eget, pretium quam. Vivamus luctus, justo quis molestie volutpat, sapien libero facilisis mi, eget vestibulum dui odio at ligula. Fusce interdum, sem non dapibus rutrum, lorem libero blandit lacus, quis molestie purus eros ut
lacus. Sed in blandit ante. Maecenas egestas ante posuere, ultricies nisi at, dapibus mauris. Praesent hendrerit tempus est, quis ornare lectus pellentesque fringilla. Duis egestas semper pretium. Morbi finibus, velit sit amet suscipit condimentum,
sem felis posuere mi, condimentum iaculis ipsum leo a velit. Quisque semper pulvinar quam, a pharetra quam laoreet non. Fusce faucibus sed ligula et porta. Nulla tempus vitae ante ut laoreet. Ut nec ipsum venenatis, ullamcorper magna eget, ullamcorper
leo. Vestibulum sed magna eleifend, pulvinar tellus ac, aliquet nunc. Suspendisse cursus lacinia felis, id aliquam quam ultrices in. Phasellus urna leo, aliquam eu nunc sit amet, fringilla ornare velit. Vestibulum ullamcorper risus vel risus tincidunt
mollis. Quisque rhoncus commodo fermentum. Suspendisse vulputate urna et eleifend suscipit. Quisque non neque a neque suscipit lacinia ac vel lectus. Phasellus tincidunt, ante ac dapibus varius, odio lorem mollis risus, mollis egestas lectus massa
in ligula. Phasellus vestibulum sem et sem convallis luctus. Nulla eleifend mollis libero, sit amet mollis erat suscipit et. Suspendisse laoreet vulputate massa, eget ultricies urna laoreet elementum. Curabitur auctor et ipsum viverra rhoncus. In
ex metus, ultrices ac eros a, ornare euismod augue. Nullam ultricies pulvinar nulla. Nullam scelerisque tortor at sapien consectetur vehicula. In ac varius diam. Nam non pulvinar nibh. Nam fermentum enim nisi, nec faucibus nisi rhoncus in. Morbi ac
elit mollis, mattis ex non, tempus turpis. Nam varius volutpat luctus. Nunc a tortor id arcu accumsan mattis quis in elit. Ut fringilla nibh at erat faucibus, vitae rhoncus erat rhoncus. Duis gravida quis neque nec dapibus. Proin vel sapien placerat
nulla auctor posuere quis vitae justo. Donec sollicitudin sodales mi, et consectetur ligula dapibus ut. Maecenas quis odio ullamcorper erat vehicula pretium. Etiam eu erat neque. Sed interdum nibh vulputate faucibus pretium. Pellentesque sit amet
dolor sollicitudin, malesuada libero a, interdum nisl. Nunc convallis consequat tempor. Phasellus posuere fringilla mollis. Cras ac neque magna. Phasellus a nunc rutrum, tempor orci in, lobortis lorem. Nullam cursus risus ut neque feugiat, et consectetur
justo mollis. Nullam et elementum ipsum. Fusce cursus, tellus quis auctor ornare, felis mauris mollis odio, quis porttitor urna metus at elit. Praesent rutrum non nisl vel euismod. In condimentum eros nunc, ut vehicula mi pretium a. Nullam eget fermentum
eros. Pellentesque dapibus sollicitudin volutpat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Integer eget urna id libero convallis lacinia quis eu lectus. Maecenas pellentesque malesuada leo, at imperdiet
massa. Pellentesque ut euismod eros, ut pretium lacus. Sed lacinia mauris eu nibh dignissim, ut sodales augue blandit. Mauris dui ipsum, porta quis feugiat a, tincidunt vitae libero. Duis et vestibulum nunc. Sed ac orci nulla. Duis nec turpis mauris.
Nam ipsum odio, ornare in lacinia sed, feugiat quis quam. Nunc neque justo, consequat in massa et, ultrices dictum sapien. Mauris aliquam justo a nibh semper condimentum nec tristique diam. Sed imperdiet nulla ut mollis feugiat. Maecenas imperdiet
tempus posuere. Donec neque dolor, venenatis non odio quis, lacinia tempus enim. Etiam venenatis eros sed imperdiet laoreet. Sed id lacinia arcu. Sed luctus suscipit justo et gravida. Quisque sed luctus velit, non interdum metus. Morbi ultrices vehicula
enim, sit amet ultricies tellus dapibus non. Proin ac odio in neque pharetra dignissim. Proin id nisl vitae ante ultrices consequat. Nunc porta pretium convallis. Nunc maximus quam ipsum. Suspendisse placerat tortor nec lectus interdum elementum.
Ut a ultrices mauris, et faucibus augue. Maecenas tempus, tortor at scelerisque porttitor, neque lectus varius lorem, ac convallis erat erat quis massa. Nulla non imperdiet nulla. Proin luctus ipsum vitae pulvinar mattis. Aenean lorem arcu, bibendum
sed aliquam quis, efficitur sed odio. Vestibulum fermentum vehicula urna at sagittis. Praesent massa neque, blandit in libero eget, tincidunt rhoncus ipsum. Aliquam erat volutpat. Cras neque tortor, laoreet vel erat vitae, mattis sagittis turpis.
Quisque nisl massa, pulvinar id cursus vitae, blandit id elit. Aenean placerat ligula eu gravida molestie. Sed at risus aliquet, viverra lacus eget, congue leo. Vestibulum sit amet odio nec mi eleifend pulvinar. Aliquam dui risus, consequat at vehicula
vel, semper eu neque. Nunc convallis eu arcu quis mattis. Sed at sagittis enim. Donec in sem rhoncus, tincidunt diam ac, facilisis mi. Donec bibendum, risus sodales faucibus imperdiet, lacus magna ullamcorper metus, a lobortis purus nulla molestie
nisi. Suspendisse potenti. Donec maximus a odio accumsan feugiat. Morbi finibus ullamcorper tellus, sed viverra odio commodo in. Praesent tincidunt mauris a mauris tristique fermentum. Nullam commodo commodo imperdiet. Suspendisse congue congue tortor,
non vulputate lacus placerat nec. Donec sodales mauris ut viverra sodales. Fusce congue nulla in condimentum laoreet. Nulla non leo vitae risus blandit elementum. Nam at vehicula massa. In rutrum dignissim arcu non placerat. Quisque scelerisque vel
diam eu placerat. Quisque massa purus, euismod non finibus nec, gravida tempor mauris. Integer sagittis id tellus vestibulum volutpat. Curabitur varius a diam nec lacinia. Cras sed ante vel dui efficitur tincidunt sed vitae sem. Sed quis felis posuere,
volutpat libero ac, cursus lacus. Morbi dignissim porttitor rutrum. Nunc maximus libero libero, nec hendrerit nisl tincidunt sed. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum ante ipsum primis in
faucibus orci luctus et ultrices posuere cubilia curae; Curabitur nulla ex, sagittis ac consequat sed, vehicula vel tellus. Sed turpis ex, posuere at metus et, posuere dapibus dolor. Nullam risus orci, ultrices a consequat at, consequat non nulla.
Vestibulum nec pretium tortor. Nullam tempus augue eu massa suscipit vehicula. Sed eu efficitur velit. Nunc quis elit sit amet nibh rutrum malesuada. Nulla in lectus id felis luctus consectetur. In hac habitasse platea dictumst. Quisque at faucibus
felis, id ullamcorper dolor. Nulla facilisi. Duis in dui fermentum, congue erat non, eleifend libero. Ut molestie aliquam nisi, vel euismod velit rutrum in. In turpis tellus, posuere eget libero eu, laoreet cursus lorem. Nulla faucibus purus nunc,
non pharetra nibh vehicula non. Integer lectus diam, fermentum at faucibus eu, convallis eget justo. In at orci auctor mi dictum tristique quis id quam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec
vitae velit nec ex commodo vulputate vitae non mi. Sed mattis tristique libero, sed eleifend quam bibendum at. Pellentesque consectetur vestibulum ligula, quis interdum lacus volutpat vel. Curabitur accumsan neque ac hendrerit lacinia. Sed commodo
ante eget sagittis lacinia. Ut ac mollis augue, vitae molestie ex. Nam commodo auctor ligula, sit amet sodales nulla. Phasellus vulputate quam sit amet massa egestas efficitur posuere eu ligula. Mauris sed mauris vitae libero pulvinar interdum. Phasellus
tincidunt augue eu sem ultricies, non pharetra magna consequat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas lobortis elit nec diam tincidunt facilisis. Aliquam nec ex non ex vestibulum facilisis.
Nullam semper tristique blandit. Donec auctor sagittis sollicitudin. Vivamus non enim elementum, hendrerit nisi ut, eleifend magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec tincidunt semper sem, at finibus est consectetur
eget. Mauris ut auctor lectus. Aenean vulputate vehicula diam. Proin aliquet lectus et enim malesuada auctor. Nunc scelerisque semper nunc, quis feugiat erat tempus nec. Morbi suscipit sagittis ligula, at aliquam velit congue sed. Nam eu dignissim
ex. Nunc quis dolor vel leo imperdiet pretium at sed mauris. Suspendisse tempor orci eu tincidunt suscipit. Aenean sed tincidunt sem. Nam sit amet nisl tellus. Praesent porttitor, massa nec molestie blandit, nulla magna cursus enim, sed elementum
libero augue et metus. Integer at lacus ac erat convallis lacinia. Suspendisse faucibus leo orci, sagittis molestie ex condimentum eu. Nunc et lorem sollicitudin, elementum enim eu, vestibulum nibh. Curabitur ut mattis neque. Cras sit amet porttitor
odio. Etiam iaculis sodales suscipit. Nulla aliquet malesuada felis, vel efficitur dolor cursus in. Donec sagittis tortor in diam bibendum, vel consequat neque luctus. Suspendisse pharetra nulla eget velit ultrices, eget molestie dolor semper. Suspendisse
aliquam, dolor sit amet consectetur fringilla, ipsum sapien scelerisque lacus, at tincidunt turpis tellus a tortor. Duis orci magna, scelerisque ac lorem eget, maximus gravida lectus. Nullam posuere urna nec velit aliquam luctus ut eget ipsum. Phasellus
vitae tortor facilisis libero auctor placerat non et felis. Vivamus malesuada, diam in iaculis congue, elit massa faucibus elit, non finibus magna eros sit amet ante. Etiam purus enim, convallis id fringilla nec, vulputate et ligula. Quisque orci
orci, volutpat vitae sem a, mollis pretium enim. In auctor imperdiet pretium. Mauris sit amet turpis sed orci ultrices varius. Aliquam luctus neque non erat cursus, eu iaculis tortor fermentum. Vestibulum vehicula arcu sit amet nisl dignissim, non
placerat urna accumsan. Praesent ac ultrices sapien, sit amet laoreet ipsum. Donec faucibus eget metus non efficitur. Proin dui justo, viverra id aliquet eget, sodales vel mauris. Ut scelerisque, est sit amet consequat imperdiet, purus quam tempor
elit, nec blandit odio lacus vel elit. Maecenas magna erat, egestas at turpis sit amet, viverra porta justo. In eget odio lacus. Proin ac felis viverra, mattis velit ut, hendrerit lectus. Aenean in nisi at sem placerat rutrum. Pellentesque commodo
condimentum maximus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel mauris sapien. Pellentesque consectetur mi at maximus dapibus. Maecenas egestas sed tellus vitae varius. Praesent lobortis erat felis, ut vehicula ante rutrum
ac. Ut sodales lectus ut felis ultricies accumsan. Fusce et justo et metus sagittis rutrum. Fusce posuere felis sem, nec tristique neque cursus ac. Praesent facilisis neque sed ante fermentum aliquet. Quisque sollicitudin tortor ut molestie elementum.
Morbi efficitur leo efficitur ultricies vulputate. Quisque venenatis, nisl lacinia convallis efficitur, massa magna semper est, quis dapibus diam orci non justo. Sed fermentum lacinia ex, sit amet cursus sem interdum ut. Aliquam tempus dolor id lectus
imperdiet, sit amet gravida lacus porttitor. Maecenas id enim ex. Nulla nibh orci, consequat et mollis quis, porttitor volutpat enim. Cras vitae tortor mauris. Praesent at elit ut turpis cursus condimentum. Praesent dictum viverra viverra. Etiam eu
fermentum lacus. Aenean viverra consectetur libero, vel ornare enim mollis eget. Morbi tempor vitae purus eget aliquam. Proin quis eleifend enim, ut consectetur nunc. Nullam porta orci odio, quis sodales velit faucibus vitae. Cras auctor nibh consectetur
leo gravida ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Maecenas in nibh a magna porttitor tempor. Nam feugiat non tellus ac aliquam. Aenean ornare varius lobortis. Aliquam erat volutpat. Pellentesque
efficitur orci vel ante tempor, ut laoreet justo condimentum. Phasellus faucibus eget quam nec egestas. Donec aliquet elementum metus a pellentesque. Nam sed volutpat libero. Curabitur nec ante in arcu sollicitudin accumsan eu eget sem. Fusce rhoncus
justo at dui mattis fringilla. Integer in nunc a leo lacinia ornare rutrum vitae orci. Praesent imperdiet placerat turpis non maximus. Etiam in lacinia ante. Cras vulputate ut ex et placerat. Suspendisse erat enim, accumsan et fermentum sit amet,
ullamcorper sit amet erat. Quisque at pretium nisl. Sed ex lacus, eleifend vitae fringilla in, fringilla eget nulla. Proin sagittis urna eu felis ultricies, a finibus nisl finibus. Nullam efficitur, dui a bibendum tempor, massa augue fringilla metus,
vel sodales lorem mauris id ligula. Nunc consequat tincidunt iaculis. Etiam ultrices augue quis leo convallis, sed dignissim tellus eleifend. Donec eget fringilla urna. Sed fermentum, risus vel molestie euismod, lorem enim porta justo, non ullamcorper
est tellus et magna. Nam mollis, purus vel finibus malesuada, augue urna lobortis ipsum, vitae consequat velit nisl vitae tortor. Quisque elementum suscipit ligula quis scelerisque. Aliquam erat volutpat. Praesent ipsum ex, pretium molestie odio et,
tempus bibendum eros. Aliquam vulputate egestas dignissim. Morbi est nisl, auctor ac tellus non, cursus eleifend nulla. Pellentesque imperdiet risus non lorem eleifend iaculis. Fusce ornare elementum orci nec volutpat. Sed iaculis justo libero, vulputate
finibus orci euismod dapibus. Duis bibendum eros sed sem euismod suscipit. Vivamus accumsan blandit ante quis placerat. Aliquam lacus nunc, tristique at venenatis non, molestie id arcu. Donec metus dolor, tempor non feugiat in, dignissim eu metus.
Donec lacinia auctor eros scelerisque blandit. Maecenas condimentum ac nisl sed dignissim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed efficitur ex turpis, semper interdum felis consectetur pulvinar.
Fusce aliquam sagittis varius. Fusce nisl dui, bibendum ut ipsum eget, scelerisque interdum odio. Donec odio nulla, interdum eget eleifend quis, eleifend nec quam. Donec efficitur purus sapien. Aliquam sollicitudin ultricies diam non imperdiet. Cras
porttitor dapibus tortor, vitae finibus sapien pellentesque vitae. Suspendisse rutrum ex metus. Duis egestas cursus porttitor. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam quis ornare justo. Aliquam pulvinar, ante commodo
tristique dignissim, augue est elementum nibh, nec pellentesque enim lorem at nisl. In et purus eget massa maximus egestas. Donec pretium nibh lorem, vitae imperdiet urna viverra nec. Donec facilisis pharetra fringilla. Pellentesque sed sem quis orci
egestas consequat. Quisque tempor libero sed sapien placerat, sed scelerisque augue commodo. Nam non euismod dui, vitae pharetra velit. Sed porttitor, libero ut porttitor sodales, urna nisi scelerisque orci, non dapibus libero lorem non ligula. Aenean
euismod sed lacus ac ornare. Morbi elementum orci in varius semper. Sed non elit dui. Nulla tempus turpis finibus, fermentum orci vitae, venenatis dui. Duis sollicitudin, neque in porttitor ultricies, dolor mauris tincidunt ex, quis rhoncus nibh elit
rutrum nisi. Suspendisse sagittis eget felis a sodales. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc a quam ex. Vestibulum viverra, metus in ornare vestibulum, diam nibh molestie mi, ac interdum mi lorem eget ex. Praesent ac nisi
volutpat, porttitor ex eget, iaculis magna. Nullam tristique turpis quis sapien varius hendrerit. Cras tristique tincidunt diam, sit amet ullamcorper odio pretium vitae. Mauris nec consectetur nunc. Donec tincidunt, augue non commodo ullamcorper,
lectus tortor volutpat urna, non hendrerit purus massa ut turpis. Nullam ultricies velit in nunc condimentum consectetur. Quisque cursus libero elementum sollicitudin porttitor. Pellentesque eu tincidunt velit. Sed vel suscipit diam. Vivamus nunc
risus, finibus id sodales eget, auctor in diam. Ut nec quam lectus. Ut interdum mi non nunc varius ultricies. Donec maximus bibendum ante, nec eleifend orci eleifend et. Nulla sit amet imperdiet mi. Class aptent taciti sociosqu ad litora torquent
per conubia nostra, per inceptos himenaeos. Nulla id consectetur dui, non pellentesque mauris. Aliquam id ipsum a dolor dignissim aliquam. Donec vel leo vel arcu sodales pretium. Sed molestie elementum arcu, sit amet convallis tortor pretium vel.
Donec dignissim nisl et sollicitudin vehicula. Proin eu elit dui. Morbi sit amet libero hendrerit, aliquam neque non, ultrices mi. Nunc in elit velit. Duis dictum quam vitae neque congue, nec ornare erat tincidunt. Duis tincidunt ipsum tellus, non
dictum justo fringilla rhoncus. Quisque condimentum lacinia libero, et tristique tellus dapibus eget. Nulla tincidunt congue laoreet. Vestibulum facilisis quam ut bibendum convallis. Mauris et quam facilisis, vehicula augue id, egestas massa. Nam
ultrices sem ac sem faucibus molestie. Nulla facilisi. Quisque eleifend placerat ipsum. Fusce ultricies, erat at pellentesque feugiat, eros sem sodales lorem, id cursus diam nisi vel dolor. Pellentesque finibus enim massa, et condimentum velit convallis
vel. Suspendisse aliquam odio vitae quam fermentum, euismod semper justo facilisis. Fusce facilisis aliquet lectus, elementum tincidunt risus dapibus vel. Donec consectetur libero vitae diam convallis gravida. Etiam ornare consectetur metus, at aliquet
augue porta et. Ut lobortis leo sit amet laoreet placerat. Fusce varius ligula sed finibus pulvinar. Ut id pulvinar orci, vitae mattis nisl. Vestibulum id tristique eros. Quisque et est ut diam eleifend interdum non quis libero. Phasellus sit amet
fringilla enim. Praesent pulvinar posuere ullamcorper. Etiam euismod euismod lectus in facilisis. Duis sodales quam non purus dapibus, vel pharetra ipsum auctor. Vivamus at laoreet nibh. Mauris mollis ligula in libero volutpat, id tempus quam commodo.
Fusce quis erat ac odio sagittis faucibus. Duis ut molestie dolor, sed dignissim ligula. Phasellus sit amet ultrices sapien. Etiam sed tellus quis nibh tincidunt vehicula et at urna. Donec in magna at eros rhoncus bibendum ut quis nisi. Pellentesque
euismod tortor ac hendrerit posuere. Phasellus accumsan consequat pretium. Nulla ex sem, cursus at ultrices quis, euismod non mi. Aliquam pretium viverra felis a consectetur. Orci varius natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Vestibulum semper convallis maximus. Vivamus sit amet pharetra sapien. Suspendisse turpis purus, suscipit eu augue at,
imperdiet bibendum enim. Nam faucibus euismod ullamcorper. Aliquam vitae fermentum mauris. Suspendisse tempor blandit iaculis. Praesent molestie et nisl et faucibus. Donec finibus tellus et bibendum sodales. Phasellus commodo erat elit, in semper
ipsum posuere sed. Sed gravida facilisis sem et lobortis. Morbi sed luctus augue, in pharetra mauris. Suspendisse consequat sem id ante rhoncus venenatis. Nulla facilisi. In faucibus venenatis mauris at egestas. Integer hendrerit dui non lorem faucibus
convallis. Fusce accumsan felis et sapien rutrum lacinia. Proin facilisis pulvinar sollicitudin. Aliquam interdum mauris vel venenatis malesuada. Pellentesque mollis, elit id consectetur auctor, risus arcu semper metus, vel viverra eros nibh id nisi.
Nam commodo auctor augue sit amet condimentum. Aenean sed elit vitae dui tempor tempus. Nam commodo tincidunt enim at egestas. Nulla pretium sem sit amet magna semper, at facilisis dolor convallis. Nunc eget risus blandit, fermentum mi eget, porta
risus. Sed semper viverra elit quis efficitur. Nulla varius nibh placerat arcu tincidunt, quis pretium tortor cursus. Vestibulum facilisis sodales pharetra. Curabitur justo nibh, consectetur a mauris sit amet, pharetra sodales orci. Integer bibendum
diam ac justo finibus hendrerit. Donec et placerat nisl. Suspendisse fermentum consequat orci quis blandit. Sed rhoncus luctus metus, in malesuada mi molestie in. Nulla non egestas nunc. Aenean ultrices lectus sit amet enim consectetur congue. Cras
eu nisi et nisl mollis sodales. Integer nec dignissim turpis.
</p>
</main>
Thanks for the help.
What happens is that the scroll applies to the whole body, because the height of <main> is not limited. You can limit the height of main to the correct value by using the calc CSS function:
.main {
overflow: scroll;
height: calc(100vh - 70px);
}
So it will occupy 100% of height minus the height of the <header>.
I'm not going to post here the complete snippet to keep it short, but you can check it out on codepen
you can try this by giving height to main section
.main {
overflow: auto;
height:500px;
}
.header {
width: 100%;
height: 70px;
background-color: red;
position: sticky;
top: 0;
}
<header class='header'></header>
<main class='main'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris et felis quis risus vehicula rhoncus nec sed arcu. Nunc ipsum sapien, lacinia vitae dolor at, ultricies semper augue. Proin ultrices id magna eget consectetur. Phasellus euismod felis elit,
in varius lectus malesuada ac. Proin venenatis interdum ex sit amet vehicula. Sed feugiat tristique ante sed luctus. Proin lorem lacus, iaculis a nisl posuere, ullamcorper molestie neque. Fusce venenatis tellus non tellus dignissim, a lacinia augue
volutpat. Sed varius nulla in lectus suscipit, vel dapibus mi eleifend. Cras non urna dignissim, convallis velit eget, fermentum leo. Curabitur in efficitur ante. Duis hendrerit purus ut felis porttitor, quis rutrum ipsum consectetur. Nulla scelerisque
turpis risus, sit amet commodo tortor porttitor nec. Mauris dignissim molestie urna quis consectetur. Nulla elementum magna libero, in egestas felis ultricies nec. Phasellus lacinia dolor at tellus tincidunt venenatis. Etiam lorem nibh, molestie vitae
nisi eu, sodales feugiat libero. Nunc quis porta erat. Pellentesque luctus efficitur lacus sed dapibus. Etiam malesuada sodales augue lacinia pulvinar. Integer non consectetur nisi, non convallis ex. Aliquam erat volutpat. Integer ornare commodo dapibus.
Mauris nunc urna, aliquet vulputate lacus sit amet, mollis laoreet nisi. Donec turpis nibh, sagittis id ipsum ut, laoreet convallis erat. Fusce quis enim dapibus, pulvinar neque sit amet, tincidunt nulla. Proin nisl arcu, dapibus maximus leo et, imperdiet
iaculis nunc. Duis placerat, orci et congue accumsan, lorem sem aliquet ex, nec suscipit odio mauris eu mauris. Praesent nec risus molestie, faucibus urna vitae, posuere sapien. Ut ac condimentum ante. Aliquam ullamcorper eget nisi vel lobortis. Donec
pulvinar aliquam tellus, at sodales nisi tincidunt elementum. Ut elementum mollis libero cursus porta. In feugiat ligula non nisi luctus, non euismod urna rhoncus. Nunc vitae nunc at lectus elementum varius vel sit amet orci. Aliquam sodales id odio
vitae volutpat. Pellentesque cursus, lacus vel hendrerit sollicitudin, metus purus dapibus turpis, quis faucibus ex tortor ac magna. Nulla scelerisque cursus turpis. Nunc ullamcorper justo sit amet justo ultrices posuere. Integer faucibus, orci ac
efficitur interdum, sem velit euismod neque, et facilisis mi enim pellentesque turpis. Nullam malesuada ex at neque varius, porta molestie metus tempor. Praesent interdum turpis eros, sit amet mollis odio tincidunt vitae. Aliquam diam mauris, consequat
vel tortor at, pulvinar mattis metus. Ut dictum ornare lectus at interdum. Suspendisse potenti. Suspendisse tincidunt lacus vitae felis commodo accumsan. Quisque congue nunc quis imperdiet iaculis. Cras faucibus felis eu porta laoreet. Nunc aliquet
quam ut massa malesuada, a ultrices orci accumsan. Ut eu ullamcorper eros, nec ultrices libero. Donec varius odio quis turpis rutrum, id ornare mi lacinia. Pellentesque commodo magna nisi, nec tincidunt arcu tincidunt id. Ut tellus neque, bibendum
vel fringilla lacinia, tincidunt a sem. Donec pretium ligula elit, eget placerat mi posuere non. Fusce sed malesuada felis, in lacinia diam. Mauris et orci est. Ut in justo pulvinar, rutrum ligula pellentesque, euismod eros. Pellentesque eu convallis
quam. Duis hendrerit nunc vitae condimentum condimentum. Curabitur et condimentum nisi, id molestie neque. Morbi vitae efficitur lorem, sit amet placerat nulla. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam eros eros, pulvinar
et imperdiet at, faucibus nec augue. Praesent malesuada viverra enim eget mattis. Phasellus volutpat, est ac sodales finibus, nulla ex tristique felis, quis tempus mauris diam ac orci. Proin est risus, egestas id pellentesque sodales, facilisis vel
massa. Maecenas id erat malesuada, efficitur mauris ut, molestie lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec vestibulum erat in ipsum tincidunt scelerisque. Praesent malesuada accumsan
mattis. Nunc quis sodales diam. Sed in consequat urna, vitae efficitur ex. Suspendisse viverra ex dolor, id vehicula est eleifend non. Aliquam et velit et diam aliquet iaculis quis quis tellus. Sed bibendum mollis dolor sed mollis. Cras et turpis
mollis, eleifend augue eget, pretium quam. Vivamus luctus, justo quis molestie volutpat, sapien libero facilisis mi, eget vestibulum dui odio at ligula. Fusce interdum, sem non dapibus rutrum, lorem libero blandit lacus, quis molestie purus eros ut
lacus. Sed in blandit ante. Maecenas egestas ante posuere, ultricies nisi at, dapibus mauris. Praesent hendrerit tempus est, quis ornare lectus pellentesque fringilla. Duis egestas semper pretium. Morbi finibus, velit sit amet suscipit condimentum,
sem felis posuere mi, condimentum iaculis ipsum leo a velit. Quisque semper pulvinar quam, a pharetra quam laoreet non. Fusce faucibus sed ligula et porta. Nulla tempus vitae ante ut laoreet. Ut nec ipsum venenatis, ullamcorper magna eget, ullamcorper
leo. Vestibulum sed magna eleifend, pulvinar tellus ac, aliquet nunc. Suspendisse cursus lacinia felis, id aliquam quam ultrices in. Phasellus urna leo, aliquam eu nunc sit amet, fringilla ornare velit. Vestibulum ullamcorper risus vel risus tincidunt
mollis. Quisque rhoncus commodo fermentum. Suspendisse vulputate urna et eleifend suscipit. Quisque non neque a neque suscipit lacinia ac vel lectus. Phasellus tincidunt, ante ac dapibus varius, odio lorem mollis risus, mollis egestas lectus massa
in ligula. Phasellus vestibulum sem et sem convallis luctus. Nulla eleifend mollis libero, sit amet mollis erat suscipit et. Suspendisse laoreet vulputate massa, eget ultricies urna laoreet elementum. Curabitur auctor et ipsum viverra rhoncus. In
ex metus, ultrices ac eros a, ornare euismod augue. Nullam ultricies pulvinar nulla. Nullam scelerisque tortor at sapien consectetur vehicula. In ac varius diam. Nam non pulvinar nibh. Nam fermentum enim nisi, nec faucibus nisi rhoncus in. Morbi ac
elit mollis, mattis ex non, tempus turpis. Nam varius volutpat luctus. Nunc a tortor id arcu accumsan mattis quis in elit. Ut fringilla nibh at erat faucibus, vitae rhoncus erat rhoncus. Duis gravida quis neque nec dapibus. Proin vel sapien placerat
nulla auctor posuere quis vitae justo. Donec sollicitudin sodales mi, et consectetur ligula dapibus ut. Maecenas quis odio ullamcorper erat vehicula pretium. Etiam eu erat neque. Sed interdum nibh vulputate faucibus pretium. Pellentesque sit amet
dolor sollicitudin, malesuada libero a, interdum nisl. Nunc convallis consequat tempor. Phasellus posuere fringilla mollis. Cras ac neque magna. Phasellus a nunc rutrum, tempor orci in, lobortis lorem. Nullam cursus risus ut neque feugiat, et consectetur
justo mollis. Nullam et elementum ipsum. Fusce cursus, tellus quis auctor ornare, felis mauris mollis odio, quis porttitor urna metus at elit. Praesent rutrum non nisl vel euismod. In condimentum eros nunc, ut vehicula mi pretium a. Nullam eget fermentum
eros. Pellentesque dapibus sollicitudin volutpat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Integer eget urna id libero convallis lacinia quis eu lectus. Maecenas pellentesque malesuada leo, at imperdiet
massa. Pellentesque ut euismod eros, ut pretium lacus. Sed lacinia mauris eu nibh dignissim, ut sodales augue blandit. Mauris dui ipsum, porta quis feugiat a, tincidunt vitae libero. Duis et vestibulum nunc. Sed ac orci nulla. Duis nec turpis mauris.
Nam ipsum odio, ornare in lacinia sed, feugiat quis quam. Nunc neque justo, consequat in massa et, ultrices dictum sapien. Mauris aliquam justo a nibh semper condimentum nec tristique diam. Sed imperdiet nulla ut mollis feugiat. Maecenas imperdiet
tempus posuere. Donec neque dolor, venenatis non odio quis, lacinia tempus enim. Etiam venenatis eros sed imperdiet laoreet. Sed id lacinia arcu. Sed luctus suscipit justo et gravida. Quisque sed luctus velit, non interdum metus. Morbi ultrices vehicula
enim, sit amet ultricies tellus dapibus non. Proin ac odio in neque pharetra dignissim. Proin id nisl vitae ante ultrices consequat. Nunc porta pretium convallis. Nunc maximus quam ipsum. Suspendisse placerat tortor nec lectus interdum elementum.
Ut a ultrices mauris, et faucibus augue. Maecenas tempus, tortor at scelerisque porttitor, neque lectus varius lorem, ac convallis erat erat quis massa. Nulla non imperdiet nulla. Proin luctus ipsum vitae pulvinar mattis. Aenean lorem arcu, bibendum
sed aliquam quis, efficitur sed odio. Vestibulum fermentum vehicula urna at sagittis. Praesent massa neque, blandit in libero eget, tincidunt rhoncus ipsum. Aliquam erat volutpat. Cras neque tortor, laoreet vel erat vitae, mattis sagittis turpis.
Quisque nisl massa, pulvinar id cursus vitae, blandit id elit. Aenean placerat ligula eu gravida molestie. Sed at risus aliquet, viverra lacus eget, congue leo. Vestibulum sit amet odio nec mi eleifend pulvinar. Aliquam dui risus, consequat at vehicula
vel, semper eu neque. Nunc convallis eu arcu quis mattis. Sed at sagittis enim. Donec in sem rhoncus, tincidunt diam ac, facilisis mi. Donec bibendum, risus sodales faucibus imperdiet, lacus magna ullamcorper metus, a lobortis purus nulla molestie
nisi. Suspendisse potenti. Donec maximus a odio accumsan feugiat. Morbi finibus ullamcorper tellus, sed viverra odio commodo in. Praesent tincidunt mauris a mauris tristique fermentum. Nullam commodo commodo imperdiet. Suspendisse congue congue tortor,
non vulputate lacus placerat nec. Donec sodales mauris ut viverra sodales. Fusce congue nulla in condimentum laoreet. Nulla non leo vitae risus blandit elementum. Nam at vehicula massa. In rutrum dignissim arcu non placerat. Quisque scelerisque vel
diam eu placerat. Quisque massa purus, euismod non finibus nec, gravida tempor mauris. Integer sagittis id tellus vestibulum volutpat. Curabitur varius a diam nec lacinia. Cras sed ante vel dui efficitur tincidunt sed vitae sem. Sed quis felis posuere,
volutpat libero ac, cursus lacus. Morbi dignissim porttitor rutrum. Nunc maximus libero libero, nec hendrerit nisl tincidunt sed. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum ante ipsum primis in
faucibus orci luctus et ultrices posuere cubilia curae; Curabitur nulla ex, sagittis ac consequat sed, vehicula vel tellus. Sed turpis ex, posuere at metus et, posuere dapibus dolor. Nullam risus orci, ultrices a consequat at, consequat non nulla.
Vestibulum nec pretium tortor. Nullam tempus augue eu massa suscipit vehicula. Sed eu efficitur velit. Nunc quis elit sit amet nibh rutrum malesuada. Nulla in lectus id felis luctus consectetur. In hac habitasse platea dictumst. Quisque at faucibus
felis, id ullamcorper dolor. Nulla facilisi. Duis in dui fermentum, congue erat non, eleifend libero. Ut molestie aliquam nisi, vel euismod velit rutrum in. In turpis tellus, posuere eget libero eu, laoreet cursus lorem. Nulla faucibus purus nunc,
non pharetra nibh vehicula non. Integer lectus diam, fermentum at faucibus eu, convallis eget justo. In at orci auctor mi dictum tristique quis id quam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec
vitae velit nec ex commodo vulputate vitae non mi. Sed mattis tristique libero, sed eleifend quam bibendum at. Pellentesque consectetur vestibulum ligula, quis interdum lacus volutpat vel. Curabitur accumsan neque ac hendrerit lacinia. Sed commodo
ante eget sagittis lacinia. Ut ac mollis augue, vitae molestie ex. Nam commodo auctor ligula, sit amet sodales nulla. Phasellus vulputate quam sit amet massa egestas efficitur posuere eu ligula. Mauris sed mauris vitae libero pulvinar interdum. Phasellus
tincidunt augue eu sem ultricies, non pharetra magna consequat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas lobortis elit nec diam tincidunt facilisis. Aliquam nec ex non ex vestibulum facilisis.
Nullam semper tristique blandit. Donec auctor sagittis sollicitudin. Vivamus non enim elementum, hendrerit nisi ut, eleifend magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec tincidunt semper sem, at finibus est consectetur
eget. Mauris ut auctor lectus. Aenean vulputate vehicula diam. Proin aliquet lectus et enim malesuada auctor. Nunc scelerisque semper nunc, quis feugiat erat tempus nec. Morbi suscipit sagittis ligula, at aliquam velit congue sed. Nam eu dignissim
ex. Nunc quis dolor vel leo imperdiet pretium at sed mauris. Suspendisse tempor orci eu tincidunt suscipit. Aenean sed tincidunt sem. Nam sit amet nisl tellus. Praesent porttitor, massa nec molestie blandit, nulla magna cursus enim, sed elementum
libero augue et metus. Integer at lacus ac erat convallis lacinia. Suspendisse faucibus leo orci, sagittis molestie ex condimentum eu. Nunc et lorem sollicitudin, elementum enim eu, vestibulum nibh. Curabitur ut mattis neque. Cras sit amet porttitor
odio. Etiam iaculis sodales suscipit. Nulla aliquet malesuada felis, vel efficitur dolor cursus in. Donec sagittis tortor in diam bibendum, vel consequat neque luctus. Suspendisse pharetra nulla eget velit ultrices, eget molestie dolor semper. Suspendisse
aliquam, dolor sit amet consectetur fringilla, ipsum sapien scelerisque lacus, at tincidunt turpis tellus a tortor. Duis orci magna, scelerisque ac lorem eget, maximus gravida lectus. Nullam posuere urna nec velit aliquam luctus ut eget ipsum. Phasellus
vitae tortor facilisis libero auctor placerat non et felis. Vivamus malesuada, diam in iaculis congue, elit massa faucibus elit, non finibus magna eros sit amet ante. Etiam purus enim, convallis id fringilla nec, vulputate et ligula. Quisque orci
orci, volutpat vitae sem a, mollis pretium enim. In auctor imperdiet pretium. Mauris sit amet turpis sed orci ultrices varius. Aliquam luctus neque non erat cursus, eu iaculis tortor fermentum. Vestibulum vehicula arcu sit amet nisl dignissim, non
placerat urna accumsan. Praesent ac ultrices sapien, sit amet laoreet ipsum. Donec faucibus eget metus non efficitur. Proin dui justo, viverra id aliquet eget, sodales vel mauris. Ut scelerisque, est sit amet consequat imperdiet, purus quam tempor
elit, nec blandit odio lacus vel elit. Maecenas magna erat, egestas at turpis sit amet, viverra porta justo. In eget odio lacus. Proin ac felis viverra, mattis velit ut, hendrerit lectus. Aenean in nisi at sem placerat rutrum. Pellentesque commodo
condimentum maximus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel mauris sapien. Pellentesque consectetur mi at maximus dapibus. Maecenas egestas sed tellus vitae varius. Praesent lobortis erat felis, ut vehicula ante rutrum
ac. Ut sodales lectus ut felis ultricies accumsan. Fusce et justo et metus sagittis rutrum. Fusce posuere felis sem, nec tristique neque cursus ac. Praesent facilisis neque sed ante fermentum aliquet. Quisque sollicitudin tortor ut molestie elementum.
Morbi efficitur leo efficitur ultricies vulputate. Quisque venenatis, nisl lacinia convallis efficitur, massa magna semper est, quis dapibus diam orci non justo. Sed fermentum lacinia ex, sit amet cursus sem interdum ut. Aliquam tempus dolor id lectus
imperdiet, sit amet gravida lacus porttitor. Maecenas id enim ex. Nulla nibh orci, consequat et mollis quis, porttitor volutpat enim. Cras vitae tortor mauris. Praesent at elit ut turpis cursus condimentum. Praesent dictum viverra viverra. Etiam eu
fermentum lacus. Aenean viverra consectetur libero, vel ornare enim mollis eget. Morbi tempor vitae purus eget aliquam. Proin quis eleifend enim, ut consectetur nunc. Nullam porta orci odio, quis sodales velit faucibus vitae. Cras auctor nibh consectetur
leo gravida ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Maecenas in nibh a magna porttitor tempor. Nam feugiat non tellus ac aliquam. Aenean ornare varius lobortis. Aliquam erat volutpat. Pellentesque
efficitur orci vel ante tempor, ut laoreet justo condimentum. Phasellus faucibus eget quam nec egestas. Donec aliquet elementum metus a pellentesque. Nam sed volutpat libero. Curabitur nec ante in arcu sollicitudin accumsan eu eget sem. Fusce rhoncus
justo at dui mattis fringilla. Integer in nunc a leo lacinia ornare rutrum vitae orci. Praesent imperdiet placerat turpis non maximus. Etiam in lacinia ante. Cras vulputate ut ex et placerat. Suspendisse erat enim, accumsan et fermentum sit amet,
ullamcorper sit amet erat. Quisque at pretium nisl. Sed ex lacus, eleifend vitae fringilla in, fringilla eget nulla. Proin sagittis urna eu felis ultricies, a finibus nisl finibus. Nullam efficitur, dui a bibendum tempor, massa augue fringilla metus,
vel sodales lorem mauris id ligula. Nunc consequat tincidunt iaculis. Etiam ultrices augue quis leo convallis, sed dignissim tellus eleifend. Donec eget fringilla urna. Sed fermentum, risus vel molestie euismod, lorem enim porta justo, non ullamcorper
est tellus et magna. Nam mollis, purus vel finibus malesuada, augue urna lobortis ipsum, vitae consequat velit nisl vitae tortor. Quisque elementum suscipit ligula quis scelerisque. Aliquam erat volutpat. Praesent ipsum ex, pretium molestie odio et,
tempus bibendum eros. Aliquam vulputate egestas dignissim. Morbi est nisl, auctor ac tellus non, cursus eleifend nulla. Pellentesque imperdiet risus non lorem eleifend iaculis. Fusce ornare elementum orci nec volutpat. Sed iaculis justo libero, vulputate
finibus orci euismod dapibus. Duis bibendum eros sed sem euismod suscipit. Vivamus accumsan blandit ante quis placerat. Aliquam lacus nunc, tristique at venenatis non, molestie id arcu. Donec metus dolor, tempor non feugiat in, dignissim eu metus.
Donec lacinia auctor eros scelerisque blandit. Maecenas condimentum ac nisl sed dignissim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed efficitur ex turpis, semper interdum felis consectetur pulvinar.
Fusce aliquam sagittis varius. Fusce nisl dui, bibendum ut ipsum eget, scelerisque interdum odio. Donec odio nulla, interdum eget eleifend quis, eleifend nec quam. Donec efficitur purus sapien. Aliquam sollicitudin ultricies diam non imperdiet. Cras
porttitor dapibus tortor, vitae finibus sapien pellentesque vitae. Suspendisse rutrum ex metus. Duis egestas cursus porttitor. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam quis ornare justo. Aliquam pulvinar, ante commodo
tristique dignissim, augue est elementum nibh, nec pellentesque enim lorem at nisl. In et purus eget massa maximus egestas. Donec pretium nibh lorem, vitae imperdiet urna viverra nec. Donec facilisis pharetra fringilla. Pellentesque sed sem quis orci
egestas consequat. Quisque tempor libero sed sapien placerat, sed scelerisque augue commodo. Nam non euismod dui, vitae pharetra velit. Sed porttitor, libero ut porttitor sodales, urna nisi scelerisque orci, non dapibus libero lorem non ligula. Aenean
euismod sed lacus ac ornare. Morbi elementum orci in varius semper. Sed non elit dui. Nulla tempus turpis finibus, fermentum orci vitae, venenatis dui. Duis sollicitudin, neque in porttitor ultricies, dolor mauris tincidunt ex, quis rhoncus nibh elit
rutrum nisi. Suspendisse sagittis eget felis a sodales. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc a quam ex. Vestibulum viverra, metus in ornare vestibulum, diam nibh molestie mi, ac interdum mi lorem eget ex. Praesent ac nisi
volutpat, porttitor ex eget, iaculis magna. Nullam tristique turpis quis sapien varius hendrerit. Cras tristique tincidunt diam, sit amet ullamcorper odio pretium vitae. Mauris nec consectetur nunc. Donec tincidunt, augue non commodo ullamcorper,
lectus tortor volutpat urna, non hendrerit purus massa ut turpis. Nullam ultricies velit in nunc condimentum consectetur. Quisque cursus libero elementum sollicitudin porttitor. Pellentesque eu tincidunt velit. Sed vel suscipit diam. Vivamus nunc
risus, finibus id sodales eget, auctor in diam. Ut nec quam lectus. Ut interdum mi non nunc varius ultricies. Donec maximus bibendum ante, nec eleifend orci eleifend et. Nulla sit amet imperdiet mi. Class aptent taciti sociosqu ad litora torquent
per conubia nostra, per inceptos himenaeos. Nulla id consectetur dui, non pellentesque mauris. Aliquam id ipsum a dolor dignissim aliquam. Donec vel leo vel arcu sodales pretium. Sed molestie elementum arcu, sit amet convallis tortor pretium vel.
Donec dignissim nisl et sollicitudin vehicula. Proin eu elit dui. Morbi sit amet libero hendrerit, aliquam neque non, ultrices mi. Nunc in elit velit. Duis dictum quam vitae neque congue, nec ornare erat tincidunt. Duis tincidunt ipsum tellus, non
dictum justo fringilla rhoncus. Quisque condimentum lacinia libero, et tristique tellus dapibus eget. Nulla tincidunt congue laoreet. Vestibulum facilisis quam ut bibendum convallis. Mauris et quam facilisis, vehicula augue id, egestas massa. Nam
ultrices sem ac sem faucibus molestie. Nulla facilisi. Quisque eleifend placerat ipsum. Fusce ultricies, erat at pellentesque feugiat, eros sem sodales lorem, id cursus diam nisi vel dolor. Pellentesque finibus enim massa, et condimentum velit convallis
vel. Suspendisse aliquam odio vitae quam fermentum, euismod semper justo facilisis. Fusce facilisis aliquet lectus, elementum tincidunt risus dapibus vel. Donec consectetur libero vitae diam convallis gravida. Etiam ornare consectetur metus, at aliquet
augue porta et. Ut lobortis leo sit amet laoreet placerat. Fusce varius ligula sed finibus pulvinar. Ut id pulvinar orci, vitae mattis nisl. Vestibulum id tristique eros. Quisque et est ut diam eleifend interdum non quis libero. Phasellus sit amet
fringilla enim. Praesent pulvinar posuere ullamcorper. Etiam euismod euismod lectus in facilisis. Duis sodales quam non purus dapibus, vel pharetra ipsum auctor. Vivamus at laoreet nibh. Mauris mollis ligula in libero volutpat, id tempus quam commodo.
Fusce quis erat ac odio sagittis faucibus. Duis ut molestie dolor, sed dignissim ligula. Phasellus sit amet ultrices sapien. Etiam sed tellus quis nibh tincidunt vehicula et at urna. Donec in magna at eros rhoncus bibendum ut quis nisi. Pellentesque
euismod tortor ac hendrerit posuere. Phasellus accumsan consequat pretium. Nulla ex sem, cursus at ultrices quis, euismod non mi. Aliquam pretium viverra felis a consectetur. Orci varius natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Vestibulum semper convallis maximus. Vivamus sit amet pharetra sapien. Suspendisse turpis purus, suscipit eu augue at,
imperdiet bibendum enim. Nam faucibus euismod ullamcorper. Aliquam vitae fermentum mauris. Suspendisse tempor blandit iaculis. Praesent molestie et nisl et faucibus. Donec finibus tellus et bibendum sodales. Phasellus commodo erat elit, in semper
ipsum posuere sed. Sed gravida facilisis sem et lobortis. Morbi sed luctus augue, in pharetra mauris. Suspendisse consequat sem id ante rhoncus venenatis. Nulla facilisi. In faucibus venenatis mauris at egestas. Integer hendrerit dui non lorem faucibus
convallis. Fusce accumsan felis et sapien rutrum lacinia. Proin facilisis pulvinar sollicitudin. Aliquam interdum mauris vel venenatis malesuada. Pellentesque mollis, elit id consectetur auctor, risus arcu semper metus, vel viverra eros nibh id nisi.
Nam commodo auctor augue sit amet condimentum. Aenean sed elit vitae dui tempor tempus. Nam commodo tincidunt enim at egestas. Nulla pretium sem sit amet magna semper, at facilisis dolor convallis. Nunc eget risus blandit, fermentum mi eget, porta
risus. Sed semper viverra elit quis efficitur. Nulla varius nibh placerat arcu tincidunt, quis pretium tortor cursus. Vestibulum facilisis sodales pharetra. Curabitur justo nibh, consectetur a mauris sit amet, pharetra sodales orci. Integer bibendum
diam ac justo finibus hendrerit. Donec et placerat nisl. Suspendisse fermentum consequat orci quis blandit. Sed rhoncus luctus metus, in malesuada mi molestie in. Nulla non egestas nunc. Aenean ultrices lectus sit amet enim consectetur congue. Cras
eu nisi et nisl mollis sodales. Integer nec dignissim turpis.
</p>
</main>
Just write overflow-y:hidden in the header tag to remove the scroll bar. Like this
.header{
width:100%
height:70px;
background-color:black;
position:sticky;
top:0;
overflow-y:hidden;
}

fixed div sits on top of another div

I have a fixed div at the bottom of my page, but it is covering up another div that is behind it. How can I make it where the markup behind the fixed div can be scrolled? My end goal is to have the buttons fixed at the very bottom but if the content is behind the buttons then allow the scrollbar to show. I tried adding an over-flow:auto, but it didn't change. My assumption why that didn't work is because the viewport does think that the div behind the button is viewable...But the fixed position div just has a higher z value so it's just going to cover it anyways. I don't want to add any padding to accommodate the empty space.
Parent Container
.page-container {
padding: 10px;
position: relative;
.page-title {
margin-bottom: 15px;
}
.page-title-fixed {
position: fixed;
left: 0;
right: 0;
margin-top: -15px;
padding: 15px;
margin-bottom: 0;
padding-bottom: 0;
background: $bgGray;
z-index: 999;
.page-title { margin-bottom: 0; }
}
}
Fixed Buttons styling
style={{
position: 'fixed',
bottom: 0,
left: 0,
height: 60,
width: '100%',
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center',
backgroundColor: '#f6f6f6',
borderTop: '1px solid #e0e0e0'
}}
If I understand what you're asking, you want to have a fixed element, but you need to be able to scroll down through body content without the fixed element obscuring the body content?
If so, the simplest way is to add padding to the bottom of the body content equivalent to (or higher) than the fixed element. This will ensure that as you scroll all the way down you won't have text fall behind the fixed element.
(If I misunderstood please clarify and I'll try to help further)
.content {
width: 100%;
height:90%;
padding: 20px;
font-family: sans-serif;
/* This doesn't let the text fall behind the fixed element */
padding-bottom: 90px;
}
.fixed {
position: fixed;
bottom: 0;
width: 100%;
height: auto;
background: #007ccc;
color: #fff;
font-family: sans-serif;
padding: 30px 0;
text-align: center;
}
<div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin commodo tristique orci id tincidunt. Aliquam erat volutpat. Aliquam erat volutpat. Etiam hendrerit, nisi non pharetra laoreet, mauris odio ultricies ligula, id convallis dolor augue vitae velit. Praesent condimentum metus at turpis consequat, sed posuere orci euismod. Suspendisse in quam facilisis, imperdiet dolor at, dignissim risus. Mauris ut libero ante. Donec porttitor nibh sit amet massa tristique efficitur. Aenean commodo vel nisi ac lacinia. Etiam in faucibus enim, eget vehicula sem. Etiam justo nunc, bibendum id ligula nec, ultrices accumsan lorem. Mauris imperdiet augue vitae vulputate efficitur. Donec id sapien dui. Nam lacus nibh, cursus sed laoreet a, feugiat id arcu. Cras sed ultricies nibh, pretium placerat augue.
Maecenas mattis arcu augue, interdum rhoncus mauris condimentum at. Donec pharetra eleifend tincidunt. Sed iaculis orci id ex dapibus scelerisque. Aenean euismod felis sit amet enim dictum, sed pellentesque nisi rutrum. Pellentesque iaculis massa non massa aliquam volutpat. Praesent interdum varius orci, in ullamcorper turpis eleifend at. Phasellus in cursus lacus, at ultricies mauris. Pellentesque tristique tellus non pharetra vulputate. Proin sodales felis est, sit amet ornare turpis blandit eu.
Nulla finibus purus vel elit vehicula, ut tincidunt diam suscipit. Nullam sed congue nisi, eget venenatis felis. Integer hendrerit est sit amet elementum tempor. Duis molestie mi id consequat semper. Donec rutrum sed lectus et pellentesque. Vestibulum sit amet ligula elit. Donec et felis at mi volutpat finibus. Suspendisse vitae libero gravida, gravida erat non, mattis turpis. Cras facilisis porta diam, vel molestie libero hendrerit sed. Proin imperdiet commodo metus non pulvinar. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean tristique elit eu blandit imperdiet. Suspendisse tincidunt turpis at orci tincidunt molestie. Vestibulum dapibus maximus augue, ut cursus ante convallis non.
Nulla id feugiat nulla, at placerat ipsum. Sed id turpis quis mauris vehicula eleifend vel at risus. Vestibulum dictum orci in augue finibus, a lacinia nisi rutrum. Cras vehicula sodales enim sit amet maximus. Donec in justo porta, volutpat mi eget, feugiat elit. Nunc bibendum bibendum quam sit amet pulvinar. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam ipsum tellus, tincidunt nec laoreet sit amet, semper in lorem. Donec suscipit risus quis pellentesque porta. Duis ac felis lobortis, blandit purus eu, dapibus arcu. Nullam semper varius felis nec gravida. Nullam feugiat convallis porta.
Praesent mollis urna ex, a luctus dui tristique et. Nulla bibendum tristique erat, ac consequat ligula suscipit ut. Morbi turpis nulla, facilisis et maximus eu, pretium et magna. Integer egestas est id neque dictum ullamcorper. Etiam consequat dolor at nulla maximus, id dictum dui laoreet. Sed mattis ex in tortor malesuada sagittis. Nulla facilisi. Maecenas sapien erat, pretium ac dignissim nec, tincidunt ut nisi. Quisque tincidunt volutpat dui, ut vulputate nunc lobortis a. Mauris felis nisl, imperdiet varius iaculis sit amet, tempor ac erat. Proin sodales elementum finibus. Fusce ut ultricies nisl, sed venenatis justo. Pellentesque diam urna, semper et risus at, placerat finibus risus.
Sed sagittis mattis lorem, vitae dictum nunc egestas a. Sed pretium orci vitae ipsum pretium posuere. Sed commodo dui eget dignissim luctus. Nullam ullamcorper libero cursus libero lobortis, nec tempus eros varius. Fusce massa ligula, lacinia in quam sit amet, placerat ullamcorper tellus. Donec convallis justo non sem viverra hendrerit. Sed ac vestibulum ipsum, ac euismod augue. Donec tempus dignissim arcu in bibendum. Donec placerat vitae nunc consequat laoreet. Vivamus sagittis interdum arcu et interdum. Aliquam ullamcorper fringilla ultrices. Nulla tempus risus at interdum sagittis. Praesent ultrices, ex at viverra ultricies, lectus augue tempus justo, id luctus leo augue sed urna. Quisque nec mi et risus blandit volutpat. Nulla at purus in nunc tincidunt lacinia et eu libero.
Donec velit nibh, fringilla eu condimentum vitae, dapibus sed nibh. Nunc urna tellus, iaculis non congue id, posuere sit amet neque. Curabitur vehicula finibus orci. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed facilisis tortor sed mauris vehicula, vel commodo nisi faucibus. Duis sit amet euismod nisi. Duis efficitur, dolor ut ultrices accumsan, purus purus cursus felis, ac sodales libero justo efficitur magna. Morbi tellus tortor, tempor in mauris at, dapibus iaculis diam. Suspendisse condimentum magna nec libero dignissim, eu fermentum justo lobortis. Mauris ut dapibus lacus. Nullam ligula ipsum, posuere id lacus et, ultricies blandit sapien. Integer enim nisl, euismod eu venenatis a, consectetur sit amet ante. Aenean eu porta ipsum.
Aenean a lobortis massa, id efficitur tellus. Maecenas bibendum orci non imperdiet accumsan. Ut luctus magna id mi lacinia, in feugiat justo porta. Phasellus efficitur elementum tellus, in porttitor enim semper non. Interdum et malesuada fames ac ante ipsum primis in faucibus. Etiam cursus justo non aliquam posuere. Nunc tempor eget dui quis rhoncus. Nulla facilisi. Curabitur nec maximus nunc, condimentum accumsan massa.
Fusce justo leo, laoreet quis consectetur sed, cursus sed purus. Sed eget tincidunt velit. Donec id lectus a urna volutpat dictum. Aliquam commodo tincidunt lectus, a viverra enim. Nulla nec ante porttitor nunc sagittis tempus. Praesent volutpat porttitor est nec aliquet. Praesent aliquam aliquam leo laoreet ultricies. Mauris cursus leo at tortor ornare, et dictum libero fringilla. Ut massa est, fringilla eget nisi non, iaculis semper ligula. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut congue pellentesque arcu ac laoreet. Nam eu malesuada justo.
Ut egestas ornare tellus nec iaculis. Sed sit amet purus eu diam interdum tempus. Integer bibendum dignissim justo. Suspendisse sed arcu faucibus ex aliquet feugiat. Nulla vestibulum, felis sed ultrices varius, tellus purus rutrum diam, vitae molestie enim nulla non dui. Duis ultricies mi tortor, sed molestie sem rhoncus vel. Quisque tincidunt viverra sapien, sed tristique justo volutpat sed. Nunc tempor sit amet nulla vel tincidunt. Suspendisse pellentesque facilisis sapien id faucibus. Donec sodales finibus augue, ut volutpat est auctor sit amet. Sed rutrum, lacus at rhoncus condimentum, tortor lectus porta eros, et blandit nibh elit in diam. Pellentesque semper et metus eget posuere. Integer at velit elit. Praesent non malesuada nisl.
Duis ut lacus tellus. Vivamus aliquam magna eu sem suscipit, non bibendum mauris lobortis. Donec placerat purus eget tortor blandit, at iaculis nibh pretium. Cras quis sollicitudin erat. Ut finibus mollis sem et vehicula. Mauris rutrum gravida blandit. Sed velit mi, congue vel arcu sit amet, mollis laoreet mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce a hendrerit nunc. Pellentesque aliquam dictum arcu, eu mattis nunc consectetur nec. Fusce a malesuada turpis, in venenatis mi.
Maecenas nisl lorem, hendrerit vel dignissim id, efficitur et ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum molestie neque ut imperdiet vestibulum. Ut a felis et ligula scelerisque venenatis. Donec fermentum ex risus, ac eleifend eros tempor non. Maecenas consectetur purus eu dapibus efficitur. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque vestibulum magna quis mollis commodo. Proin sed ex mollis, rhoncus turpis cursus, laoreet augue. Maecenas non enim diam. Fusce ultricies malesuada orci. Sed dictum cursus fermentum. Nunc vehicula felis non ex congue, eget fringilla lectus fringilla. Nulla aliquam nec arcu et dictum.
Nulla tincidunt purus sapien, in semper lectus viverra sed. In vulputate ante sit amet elit placerat semper. Duis lorem tellus, tempus in leo tincidunt, iaculis commodo risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque vitae vestibulum elit. Ut facilisis lectus sed arcu dapibus facilisis id sed sapien. Nullam varius quam at enim vehicula ullamcorper. Proin nec mauris fringilla, mattis purus ac, efficitur felis. Mauris fringilla tellus non ligula ornare mollis. Aliquam pulvinar condimentum consequat. Nam sed libero non dui placerat ultricies.
Quisque pulvinar eros quis lacus dapibus vestibulum. Morbi quis orci ut nisl auctor auctor quis et dui. Fusce ex quam, aliquam at libero scelerisque, tincidunt euismod nulla. Integer vulputate dui sit amet sodales convallis. Duis porttitor nibh risus, a iaculis elit mattis suscipit. In hendrerit nibh erat, et aliquet magna cursus sit amet. Nullam libero leo, semper quis nulla id, pharetra euismod erat. Nulla vel est at lacus dictum pulvinar. Praesent pretium ante dolor, vel facilisis sapien porttitor sed. Nunc in aliquam ante. Proin consequat consectetur urna, eu pellentesque ipsum pharetra ut. Donec ultrices nisl vitae lorem suscipit consectetur. Phasellus vitae lorem et libero dapibus ullamcorper et eu mi.
Sed sagittis, tellus id congue egestas, felis magna tempor risus, nec dictum felis libero eget nunc. Maecenas id eleifend turpis. Nunc placerat odio dui, ut hendrerit tellus suscipit vitae. Morbi nunc lectus, lacinia scelerisque tortor ut, tincidunt fringilla lorem. Nullam dignissim eros eget ipsum rhoncus efficitur. Donec ac quam sodales, tempus risus vitae, aliquet lectus. Aenean non finibus risus. Mauris maximus egestas metus ut malesuada. Morbi egestas tempor tincidunt. Integer sagittis mi vitae elit sodales vestibulum. Curabitur varius dui a massa hendrerit fringilla. Pellentesque imperdiet ipsum in metus ornare sagittis. Nam eget posuere ante, id hendrerit est. Vestibulum vehicula aliquet odio et ornare. Curabitur augue diam, scelerisque vel dapibus eget, facilisis sed turpis. Morbi auctor faucibus lacus sed accumsan.
Integer consectetur dui nibh, varius ullamcorper lectus feugiat id. Vestibulum massa leo, egestas vestibulum sollicitudin in, convallis sit amet justo. Sed mauris justo, faucibus volutpat facilisis ac, volutpat non leo. Vestibulum convallis magna a massa rhoncus accumsan. Quisque et semper dui. Suspendisse euismod erat vel magna fringilla fermentum. Fusce pellentesque egestas tellus, mattis maximus metus rutrum quis. Nulla pharetra vitae turpis ut venenatis. Aliquam maximus urna nunc, sit amet posuere tellus fringilla nec.
Pellentesque viverra orci vel eros rhoncus, in feugiat elit laoreet. Donec sed nulla lorem. Donec sed ipsum eros. Vivamus metus dolor, tristique at ex sit amet, semper condimentum tortor. Vivamus et elementum libero. Phasellus laoreet lectus turpis, ac vestibulum urna finibus a. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer nec rhoncus enim, et congue orci. Nam rutrum non mi id vulputate. Sed sit amet nisi varius, mollis turpis ut, suscipit nunc. Maecenas varius nibh ac volutpat venenatis.
Vivamus vitae scelerisque sem, id elementum ligula. Mauris tristique vitae metus et tincidunt. Integer at porta neque, eget tincidunt nunc. Donec non lobortis lacus. Aenean ac rhoncus mauris, quis congue leo. In vel condimentum risus, eget tincidunt nibh. In sollicitudin lacinia dui, quis tempus lorem faucibus ut. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam erat volutpat. Cras eu est vitae metus maximus tempus ut gravida odio.
Etiam ut faucibus arcu. Praesent ac congue urna. Integer suscipit erat at elit vulputate dignissim. Praesent ornare quis nisl eu efficitur. Morbi iaculis turpis nisl, non mattis dolor molestie nec. Nullam in erat quam. Quisque eros nunc, placerat sed enim a, vestibulum ultricies diam. Vestibulum tempus volutpat ullamcorper. Morbi semper purus ultricies diam molestie faucibus. Aliquam ullamcorper viverra purus vel vehicula. Pellentesque fermentum congue libero, laoreet lobortis dui commodo sit amet. Donec vel orci id lorem faucibus convallis nec in ipsum.
Morbi nec ipsum pulvinar, interdum justo eu, vestibulum nisl. Fusce tristique blandit lacus, a lacinia lacus consectetur nec. Sed hendrerit ornare urna tincidunt euismod. Sed venenatis felis ipsum, vitae euismod nisi iaculis eu. Quisque placerat id ipsum ut scelerisque. Quisque dignissim magna dignissim magna aliquam consectetur. Integer efficitur convallis arcu, et mollis magna eleifend id. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eleifend luctus fermentum. Cras id nisl nec urna suscipit eleifend. LAST LINE OF TEXT.</div>
<div class="fixed">FIXED CONTENT HERE</div>

Make flex don't grow more than max parent height

I have a fairly simple layout (bootstrap v4 classes included):
<div class="d-flex flex-column" style="width: 100%; height: 100vh;">
<div>foo</div>
<div style="flex: 1"></div>
<div>bar</div>
</div>
Which leaves me with:
------------------------------------
| foo |
------------------------------------
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
------------------------------------
| bar |
------------------------------------
A header and a footer that take as much height as their content has, and a body that expands itself in order to fill the empty space available in the browser.
The problem comes when there is more content than the total height of the browser - (header height + footer height), in which case the body keeps expanding itself.
Is there a way I can limit the body height to be as much as the remaining space? Remaining space == Browser height - (header height + footer height).
Tips:
I don't know the height of the header or the footer, I will downvote solutions with hardcoded values. Restrain from answering if you don't understand what this means.
I don't want Javascript. This must be only CSS. I will downvote answers that contain javascript.
To prevent the content from exceeding the maximum available space left by the header and footer use the min-height property in your content class.
By default, flex items won’t shrink below their minimum content size
(the length of the longest word or fixed-size element). To change
this, set the min-width or min-height property.
body {
margin: 0;
}
main {
display: flex;
flex-direction: column;
height: 100vh;
}
header {
background-color: dodgerblue;
}
.container {
flex: 1;
min-height: 0;
overflow-y: scroll; /*overflow: hidden;*/
background-color: turquoise;
}
footer {
background-color: violet;
}
<main>
<header>
Header
</header>
<div class="container">
Content Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vulputate mi odio, ac finibus tortor tempus a. Quisque eu ex ac nibh eleifend fringilla. Nunc accumsan arcu nec pharetra congue. In iaculis ante eu velit rutrum lobortis. Proin et
congue turpis. Quisque gravida nisl et sem lobortis, nec ultrices urna pretium. Nunc a viverra urna. Nam a cursus ligula. Aliquam justo enim, aliquam quis nulla ut, ornare sollicitudin ex. Sed vestibulum sodales semper. Duis vestibulum laoreet nibh
non condimentum. Maecenas sit amet scelerisque libero. Phasellus consequat quam id elit hendrerit, sit amet auctor augue finibus. Proin eu porta dolor. Suspendisse neque diam, iaculis eu felis sit amet, elementum scelerisque velit. Nunc mollis, magna
quis dignissim bibendum, magna ligula tristique diam, vitae bibendum lorem est in nisi. Nulla euismod auctor turpis, laoreet mattis neque bibendum et. Morbi condimentum nisl sit amet velit dignissim ultricies. Vestibulum commodo felis id nisl placerat
pharetra. Morbi ac lectus non metus porttitor mollis scelerisque vitae felis. Suspendisse luctus sollicitudin metus nec aliquet. Vestibulum in convallis leo. Nunc vel consequat libero. Sed dapibus ligula nisl, quis sagittis quam mollis sit amet. Duis
et viverra lorem. Nunc luctus risus ut justo venenatis consectetur. Sed et porta enim. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque nec sapien arcu. Suspendisse placerat cursus erat, pretium
finibus purus. Nulla at risus nulla. Mauris at lectus id diam rutrum aliquam eget et ante. Maecenas rutrum orci et ornare iaculis. Suspendisse potenti. Morbi est felis, bibendum at ante sed, rhoncus varius dui. Curabitur ac neque vitae lorem feugiat
tincidunt sed vitae quam. Aliquam ornare orci eu magna sollicitudin, quis fermentum diam condimentum. Ut consequat pulvinar risus. Vivamus vestibulum massa ut eros euismod sagittis. Fusce volutpat nisl aliquet, cursus dolor vestibulum, blandit turpis.
Nunc elementum tempus diam, quis ornare lectus pharetra ut. Sed sit amet efficitur nisl, a dictum metus. Suspendisse in purus ac elit tristique pulvinar at id mi. Donec mollis sem ut risus scelerisque sagittis. Maecenas gravida tristique odio id feugiat.
Etiam maximus nunc non erat facilisis luctus. Vivamus ut magna facilisis, iaculis massa quis, luctus nulla. Cras mattis faucibus rutrum. Curabitur quis auctor lacus. Nam tempus sapien vitae finibus dignissim. Curabitur sagittis, magna ac mattis dictum,
lacus nisi pretium purus, et maximus sem eros non turpis. Donec vel tortor erat. Maecenas finibus velit hendrerit lorem vestibulum imperdiet. Integer sed sem est. Fusce iaculis justo at ipsum cursus sodales. Integer vel odio ut enim feugiat euismod
id ac ex. Donec vel ante scelerisque, varius elit eget, finibus lectus. Quisque mattis, eros quis congue posuere, lorem quam scelerisque dolor, sed sagittis lacus massa eu ligula. Fusce viverra vitae mauris vitae euismod. Etiam sapien odio, fringilla
sit amet ultricies ut, vulputate sed leo. Vivamus maximus quam a risus interdum, ut venenatis ipsum tincidunt. Donec ultrices nisi id euismod egestas. Proin nec magna euismod, egestas nibh et, accumsan dolor. Integer sit amet libero eros. Cras augue
risus, pretium et aliquam vitae, malesuada id tortor. Nam fermentum placerat imperdiet. Etiam aliquam in tortor in dictum. Integer vel orci vitae dui dignissim ultricies vitae eget dui. Nullam vitae urna nec urna finibus cursus. Vestibulum scelerisque,
erat in auctor accumsan, ipsum elit bibendum sem, nec viverra nisi risus at urna. In sit amet nulla scelerisque, volutpat mi sed, pharetra ex. Nullam in felis urna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla ut convallis arcu. Maecenas elementum nulla elit, id eleifend urna convallis id. In a pellentesque elit, nec sollicitudin orci. Vestibulum lacus odio, pulvinar nec placerat eu, porttitor sit amet ex. Integer sed pharetra turpis. Vestibulum
accumsan nulla et mi finibus, auctor congue ex lobortis. Cras fringilla purus velit. Vivamus sit amet semper tellus, non vehicula erat. Nam a finibus massa, at tempus felis. Integer at semper purus, eget laoreet neque. Etiam odio leo, laoreet at lacinia
ut, faucibus at magna. Mauris vestibulum nunc in ipsum feugiat pulvinar. Nulla lacinia diam eros, vel cursus ante ullamcorper sit amet. Pellentesque dictum, urna ac tincidunt ullamcorper, sem ligula faucibus tortor, eu lobortis risus est in nulla.
Phasellus magna sem, dignissim vitae justo vitae, dignissim ultrices diam. Mauris in neque vitae nisl elementum ornare ut tempor justo. Vestibulum vitae leo felis. Praesent porttitor sem et aliquam dignissim. Aenean eu quam id nulla hendrerit laoreet
sed dapibus purus. Praesent maximus rhoncus turpis, at egestas turpis. Vivamus turpis leo, porttitor id accumsan at, sagittis vel ante. Integer ultrices euismod euismod. Fusce bibendum lorem sit amet mi accumsan finibus. Morbi auctor quam id ex suscipit
maximus. Sed vel sem sollicitudin turpis rutrum gravida et eget mi. Nulla ac justo a neque tempus lobortis eu in mauris. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus pulvinar aliquam nulla, sit amet pellentesque dolor. Proin
sed mollis ante. Nullam lectus diam, placerat non laoreet sit amet, imperdiet sed augue. Ut mollis mattis sem, ac suscipit mi eleifend nec. Phasellus convallis massa ut arcu viverra, vitae auctor lacus convallis. Etiam vitae blandit nunc. Donec non
turpis nec purus blandit dictum. Sed bibendum sollicitudin massa non egestas. In sed neque sit amet dolor egestas sodales convallis in nunc. Sed iaculis libero nec sem porttitor, accumsan bibendum magna eleifend. Mauris interdum quam nunc, sit amet
cursus orci consequat et. Phasellus nec maximus dolor. Sed vestibulum mattis iaculis. Praesent sodales sed nunc ac congue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Donec vulputate mi odio, ac finibus tortor tempus a. Quisque eu ex ac nibh eleifend fringilla. Nunc accumsan arcu nec pharetra congue. In iaculis ante eu velit rutrum lobortis. Proin et congue turpis. Quisque gravida nisl et sem lobortis,
nec ultrices urna pretium. Nunc a viverra urna. Nam a cursus ligula. Aliquam justo enim, aliquam quis nulla ut, ornare sollicitudin ex. Sed vestibulum sodales semper. Duis vestibulum laoreet nibh non condimentum. Maecenas sit amet scelerisque libero.
Phasellus consequat quam id elit hendrerit, sit amet auctor augue finibus. Proin eu porta dolor. Suspendisse neque diam, iaculis eu felis sit amet, elementum scelerisque velit. Nunc mollis, magna quis dignissim bibendum, magna ligula tristique diam,
vitae bibendum lorem est in nisi. Nulla euismod auctor turpis, laoreet mattis neque bibendum et. Morbi condimentum nisl sit amet velit dignissim ultricies. Vestibulum commodo felis id nisl placerat pharetra. Morbi ac lectus non metus porttitor mollis
scelerisque vitae felis. Suspendisse luctus sollicitudin metus nec aliquet. Vestibulum in convallis leo. Nunc vel consequat libero. Sed dapibus ligula nisl, quis sagittis quam mollis sit amet. Duis et viverra lorem. Nunc luctus risus ut justo venenatis
consectetur. Sed et porta enim. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque nec sapien arcu. Suspendisse placerat cursus erat, pretium finibus purus. Nulla at risus nulla. Mauris at lectus
id diam rutrum aliquam eget et ante. Maecenas rutrum orci et ornare iaculis. Suspendisse potenti. Morbi est felis, bibendum at ante sed, rhoncus varius dui. Curabitur ac neque vitae lorem feugiat tincidunt sed vitae quam. Aliquam ornare orci eu magna
sollicitudin, quis fermentum diam condimentum. Ut consequat pulvinar risus. Vivamus vestibulum massa ut eros euismod sagittis. Fusce volutpat nisl aliquet, cursus dolor vestibulum, blandit turpis. Nunc elementum tempus diam, quis ornare lectus pharetra
ut. Sed sit amet efficitur nisl, a dictum metus. Suspendisse in purus ac elit tristique pulvinar at id mi. Donec mollis sem ut risus scelerisque sagittis. Maecenas gravida tristique odio id feugiat. Etiam maximus nunc non erat facilisis luctus. Vivamus
ut magna facilisis, iaculis massa quis, luctus nulla. Cras mattis faucibus rutrum. Curabitur quis auctor lacus. Nam tempus sapien vitae finibus dignissim. Curabitur sagittis, magna ac mattis dictum, lacus nisi pretium purus, et maximus sem eros non
turpis. Donec vel tortor erat. Maecenas finibus velit hendrerit lorem vestibulum imperdiet. Integer sed sem est. Fusce iaculis justo at ipsum cursus sodales. Integer vel odio ut enim feugiat euismod id ac ex. Donec vel ante scelerisque, varius elit
eget, finibus lectus. Quisque mattis, eros quis congue posuere, lorem quam scelerisque dolor, sed sagittis lacus massa eu ligula. Fusce viverra vitae mauris vitae euismod. Etiam sapien odio, fringilla sit amet ultricies ut, vulputate sed leo. Vivamus
maximus quam a risus interdum, ut venenatis ipsum tincidunt. Donec ultrices nisi id euismod egestas. Proin nec magna euismod, egestas nibh et, accumsan dolor. Integer sit amet libero eros. Cras augue risus, pretium et aliquam vitae, malesuada id tortor.
Nam fermentum placerat imperdiet. Etiam aliquam in tortor in dictum. Integer vel orci vitae dui dignissim ultricies vitae eget dui. Nullam vitae urna nec urna finibus cursus. Vestibulum scelerisque, erat in auctor accumsan, ipsum elit bibendum sem,
nec viverra nisi risus at urna. In sit amet nulla scelerisque, volutpat mi sed, pharetra ex. Nullam in felis urna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla ut convallis arcu. Maecenas elementum nulla
elit, id eleifend urna convallis id. In a pellentesque elit, nec sollicitudin orci. Vestibulum lacus odio, pulvinar nec placerat eu, porttitor sit amet ex. Integer sed pharetra turpis. Vestibulum accumsan nulla et mi finibus, auctor congue ex lobortis.
Cras fringilla purus velit. Vivamus sit amet semper tellus, non vehicula erat. Nam a finibus massa, at tempus felis. Integer at semper purus, eget laoreet neque. Etiam odio leo, laoreet at lacinia ut, faucibus at magna. Mauris vestibulum nunc in ipsum
feugiat pulvinar. Nulla lacinia diam eros, vel cursus ante ullamcorper sit amet. Pellentesque dictum, urna ac tincidunt ullamcorper, sem ligula faucibus tortor, eu lobortis risus est in nulla. Phasellus magna sem, dignissim vitae justo vitae, dignissim
ultrices diam. Mauris in neque vitae nisl elementum ornare ut tempor justo. Vestibulum vitae leo felis. Praesent porttitor sem et aliquam dignissim. Aenean eu quam id nulla hendrerit laoreet sed dapibus purus. Praesent maximus rhoncus turpis, at egestas
turpis. Vivamus turpis leo, porttitor id accumsan at, sagittis vel ante. Integer ultrices euismod euismod. Fusce bibendum lorem sit amet mi accumsan finibus. Morbi auctor quam id ex suscipit maximus. Sed vel sem sollicitudin turpis rutrum gravida
et eget mi. Nulla ac justo a neque tempus lobortis eu in mauris. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus pulvinar aliquam nulla, sit amet pellentesque dolor. Proin sed mollis ante. Nullam lectus diam, placerat non laoreet
sit amet, imperdiet sed augue. Ut mollis mattis sem, ac suscipit mi eleifend nec. Phasellus convallis massa ut arcu viverra, vitae auctor lacus convallis. Etiam vitae blandit nunc. Donec non turpis nec purus blandit dictum. Sed bibendum sollicitudin
massa non egestas. In sed neque sit amet dolor egestas sodales convallis in nunc. Sed iaculis libero nec sem porttitor, accumsan bibendum magna eleifend. Mauris interdum quam nunc, sit amet cursus orci consequat et. Phasellus nec maximus dolor. Sed
vestibulum mattis iaculis. Praesent sodales sed nunc ac congue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
</div>
<footer>
Footer
</footer>
</main>

Have floating div hug right side and accommodate scrollbar

I've been trying to find a solution to this, but I dont know if maybe Im not wording it correctly because I can't seem to find an answer.
I have a page with a 'quick links' button which is designed to float against the right hand side of the screen while scrolling.
I have used the following to get the effect (the right attriubte is to hide the menu which shows when you click on the element.)
#quickLinks {
position: fixed;
display: block;
top: 50%;
z-index: 2;
right: -250px;
}
This is all working pretty fine, but I've found that im struggling to accomodate when a scroll bar is present or not.
So ive added a bit of 'padding' to the right attribute to stick out a little when there is a scroll bar (which my page generally has), but since there is no scroll bar visible on an ipad, for instance, there is that padded gap.
Ive noticed that using 'absolute' rather than fixed seems to get the hugging effect right, but then I lose the floating scroll.
Any ideas or suggestions would be greatly appreciated. :)
thanks!
This seems like you have some other conflict in your CSS causing the issue. You might want to post your CSS file to help debug. Doing a simple fiddle like this in all browsers produces the same result - the fixed div moves slightly to the left when a scroll bar is present. To see the difference, remove some of the Lorem Ipsum text.
.right {
background: blue;
padding: 20px;
position: fixed;
right: 0;
top: 100px
}
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac metus eleifend, viverra felis at, semper elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean augue sapien, efficitur at felis at, mollis
iaculis ante. Nullam mattis risus eget ante tempor, non laoreet libero rutrum. Donec massa dui, venenatis in fringilla ut, commodo id dui. Morbi iaculis ipsum sit amet enim venenatis, ac lacinia enim sollicitudin. Integer porttitor aliquam sollicitudin.
Aenean elementum a orci a iaculis.</p>
<p>Quisque sit amet tortor non augue rhoncus sagittis in non felis. Etiam pulvinar enim viverra turpis pellentesque, ut sollicitudin turpis fermentum. Nulla facilisi. Etiam sagittis dui nec velit feugiat imperdiet. Suspendisse efficitur quam in urna porttitor,
quis tempor ex lacinia. Quisque a mattis ante, sed dapibus risus. Nulla nec massa eu leo molestie maximus sed nec libero. Cras eget aliquet nisl, a pharetra tellus. Cras a sem id ligula aliquet mollis. Interdum et malesuada fames ac ante ipsum primis
in faucibus. Donec volutpat, ipsum sit amet cursus laoreet, dui massa dapibus nisi, id finibus sem nisl id dui. Vestibulum aliquet lobortis enim, ut ultrices ante. Praesent faucibus pharetra sem quis mollis.</p>
<p>Curabitur convallis sollicitudin neque nec tincidunt. Morbi tristique blandit rutrum. Nullam sed imperdiet urna, id rutrum tortor. Aenean non dolor tempor nulla egestas placerat eu vitae magna. Sed vitae feugiat tellus. Aenean ut urna posuere, lacinia
neque ac, efficitur sem. Phasellus at tempor turpis, non ullamcorper urna. Donec in massa euismod, euismod nisi quis, sodales turpis. Suspendisse ut lacus non massa molestie rhoncus. Duis quis dui tristique, sodales sapien vel, porta nunc. Class aptent
taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut ultrices tincidunt lacus et pulvinar.</p>
<p>Sed placerat odio eros, eget elementum enim tempor vitae. Sed sed laoreet nulla. Nam justo augue, ornare a quam eu, placerat luctus risus. Aenean lobortis in ex sit amet pretium. Fusce iaculis lorem arcu, posuere lacinia velit laoreet sit amet. Donec
malesuada, elit quis rutrum ullamcorper, purus libero volutpat quam, at bibendum turpis urna vel justo. Nunc aliquet lobortis ex vitae dapibus. Nullam laoreet ullamcorper enim, dapibus posuere massa pharetra at.</p>
<p>Integer hendrerit maximus mauris consectetur lobortis. Donec magna arcu, luctus vehicula lacus in, molestie tempus metus. Donec sollicitudin, metus sed imperdiet consequat, risus mauris placerat ligula, et volutpat ex enim nec ipsum. Morbi massa risus,
dignissim sit amet nisl ac, efficitur lobortis dolor. Duis id porta odio. Suspendisse tempus porta erat, et laoreet lectus luctus non. Etiam vel neque et ligula cursus sodales. Nunc finibus, tortor ac rhoncus venenatis, odio nisl suscipit turpis,
ac convallis enim quam a urna. Nam condimentum risus in magna fermentum scelerisque.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac metus eleifend, viverra felis at, semper elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean augue sapien, efficitur at felis at, mollis
iaculis ante. Nullam mattis risus eget ante tempor, non laoreet libero rutrum. Donec massa dui, venenatis in fringilla ut, commodo id dui. Morbi iaculis ipsum sit amet enim venenatis, ac lacinia enim sollicitudin. Integer porttitor aliquam sollicitudin.
Aenean elementum a orci a iaculis.</p>
<p>Quisque sit amet tortor non augue rhoncus sagittis in non felis. Etiam pulvinar enim viverra turpis pellentesque, ut sollicitudin turpis fermentum. Nulla facilisi. Etiam sagittis dui nec velit feugiat imperdiet. Suspendisse efficitur quam in urna porttitor,
quis tempor ex lacinia. Quisque a mattis ante, sed dapibus risus. Nulla nec massa eu leo molestie maximus sed nec libero. Cras eget aliquet nisl, a pharetra tellus. Cras a sem id ligula aliquet mollis. Interdum et malesuada fames ac ante ipsum primis
in faucibus. Donec volutpat, ipsum sit amet cursus laoreet, dui massa dapibus nisi, id finibus sem nisl id dui. Vestibulum aliquet lobortis enim, ut ultrices ante. Praesent faucibus pharetra sem quis mollis.</p>
<p>Curabitur convallis sollicitudin neque nec tincidunt. Morbi tristique blandit rutrum. Nullam sed imperdiet urna, id rutrum tortor. Aenean non dolor tempor nulla egestas placerat eu vitae magna. Sed vitae feugiat tellus. Aenean ut urna posuere, lacinia
neque ac, efficitur sem. Phasellus at tempor turpis, non ullamcorper urna. Donec in massa euismod, euismod nisi quis, sodales turpis. Suspendisse ut lacus non massa molestie rhoncus. Duis quis dui tristique, sodales sapien vel, porta nunc. Class aptent
taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut ultrices tincidunt lacus et pulvinar.</p>
<p>Sed placerat odio eros, eget elementum enim tempor vitae. Sed sed laoreet nulla. Nam justo augue, ornare a quam eu, placerat luctus risus. Aenean lobortis in ex sit amet pretium. Fusce iaculis lorem arcu, posuere lacinia velit laoreet sit amet. Donec
malesuada, elit quis rutrum ullamcorper, purus libero volutpat quam, at bibendum turpis urna vel justo. Nunc aliquet lobortis ex vitae dapibus. Nullam laoreet ullamcorper enim, dapibus posuere massa pharetra at.</p>
<p>Integer hendrerit maximus mauris consectetur lobortis. Donec magna arcu, luctus vehicula lacus in, molestie tempus metus. Donec sollicitudin, metus sed imperdiet consequat, risus mauris placerat ligula, et volutpat ex enim nec ipsum. Morbi massa risus,
dignissim sit amet nisl ac, efficitur lobortis dolor. Duis id porta odio. Suspendisse tempus porta erat, et laoreet lectus luctus non. Etiam vel neque et ligula cursus sodales. Nunc finibus, tortor ac rhoncus venenatis, odio nisl suscipit turpis,
ac convallis enim quam a urna. Nam condimentum risus in magna fermentum scelerisque.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac metus eleifend, viverra felis at, semper elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean augue sapien, efficitur at felis at, mollis
iaculis ante. Nullam mattis risus eget ante tempor, non laoreet libero rutrum. Donec massa dui, venenatis in fringilla ut, commodo id dui. Morbi iaculis ipsum sit amet enim venenatis, ac lacinia enim sollicitudin. Integer porttitor aliquam sollicitudin.
Aenean elementum a orci a iaculis.</p>
<p>Quisque sit amet tortor non augue rhoncus sagittis in non felis. Etiam pulvinar enim viverra turpis pellentesque, ut sollicitudin turpis fermentum. Nulla facilisi. Etiam sagittis dui nec velit feugiat imperdiet. Suspendisse efficitur quam in urna porttitor,
quis tempor ex lacinia. Quisque a mattis ante, sed dapibus risus. Nulla nec massa eu leo molestie maximus sed nec libero. Cras eget aliquet nisl, a pharetra tellus. Cras a sem id ligula aliquet mollis. Interdum et malesuada fames ac ante ipsum primis
in faucibus. Donec volutpat, ipsum sit amet cursus laoreet, dui massa dapibus nisi, id finibus sem nisl id dui. Vestibulum aliquet lobortis enim, ut ultrices ante. Praesent faucibus pharetra sem quis mollis.</p>
<p>Curabitur convallis sollicitudin neque nec tincidunt. Morbi tristique blandit rutrum. Nullam sed imperdiet urna, id rutrum tortor. Aenean non dolor tempor nulla egestas placerat eu vitae magna. Sed vitae feugiat tellus. Aenean ut urna posuere, lacinia
neque ac, efficitur sem. Phasellus at tempor turpis, non ullamcorper urna. Donec in massa euismod, euismod nisi quis, sodales turpis. Suspendisse ut lacus non massa molestie rhoncus. Duis quis dui tristique, sodales sapien vel, porta nunc. Class aptent
taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut ultrices tincidunt lacus et pulvinar.</p>
<p>Sed placerat odio eros, eget elementum enim tempor vitae. Sed sed laoreet nulla. Nam justo augue, ornare a quam eu, placerat luctus risus. Aenean lobortis in ex sit amet pretium. Fusce iaculis lorem arcu, posuere lacinia velit laoreet sit amet. Donec
malesuada, elit quis rutrum ullamcorper, purus libero volutpat quam, at bibendum turpis urna vel justo. Nunc aliquet lobortis ex vitae dapibus. Nullam laoreet ullamcorper enim, dapibus posuere massa pharetra at.</p>
<p>Integer hendrerit maximus mauris consectetur lobortis. Donec magna arcu, luctus vehicula lacus in, molestie tempus metus. Donec sollicitudin, metus sed imperdiet consequat, risus mauris placerat ligula, et volutpat ex enim nec ipsum. Morbi massa risus,
dignissim sit amet nisl ac, efficitur lobortis dolor. Duis id porta odio. Suspendisse tempus porta erat, et laoreet lectus luctus non. Etiam vel neque et ligula cursus sodales. Nunc finibus, tortor ac rhoncus venenatis, odio nisl suscipit turpis,
ac convallis enim quam a urna. Nam condimentum risus in magna fermentum scelerisque.</p>
</div>
<div class="right">
I'm floating on the right!
</div>
https://jsfiddle.net/uy1tgdew/1/

Two column layout for printing

I have a web site with a lot of text. To make it more readable when printed, I'd like to create a paginated two-column layout, that is I want two columns per page and the text of column one should wrap to column two and from that to the next page (instead of cutting two very tall columns into pages):
Wanted Not Wanted
1 2 1 4
--- ---
3 4 2 5
--- ---
5 6 3 6
Does someone have a working example for this?
You can use this css
#media print {
body{
column-count: 2;
-webkit-column-count: 2;
-moz-column-count: 2;
}
}
Also you can add a single column title.
CSS
#media print {
.two {
column-count: 2;
-webkit-column-count: 2;
-moz-column-count: 2;
}
.one {
column-count: 1;
-webkit-column-count: 1;
-moz-column-count: 1;
}
}
HTML
<section class="one">
<h1>My awesome project</h1>
</section>
<section class="two">
Very long content
</section>
Example
h1 {
text-align: center
}
count::before {
counter-increment: section;
content: "\A I am flag " counter(section) ".\A ";
font-weight: bold;
white-space: pre;
}
#media print {
.two {
column-count: 2;
-webkit-column-count: 2;
-moz-column-count: 2;
}
.one {
column-count: 1;
-webkit-column-count: 1;
-moz-column-count: 1;
}
input[type="button"] {
display: none
}
}
<input type="button" onclick="print()" value=" --> Click Here to print! <--">
<section class="one">
<h1>My awesome project</h1>
<h2>Chapter 1</h2>
</section>
<section class="two">
<count/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam blandit libero eu diam dignissim, eget scelerisque lorem facilisis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus tempor lacus sit amet faucibus sodales. Sed mattis sed
felis ut lacinia. Proin pretium augue nec condimentum fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi dignissim vulputate sagittis. Integer diam justo, suscipit a metus sed, facilisis condimentum
nibh. Nulla ut accumsan lorem, semper iaculis lectus. Pellentesque a nulla id elit accumsan gravida venenatis at urna. Quisque convallis pellentesque arcu, nec cursus nibh bibendum vel. Praesent porta est sit amet nisi hendrerit bibendum. Sed condimentum,
mi vel accumsan pellentesque, magna orci tincidunt nulla, at imperdiet nunc odio nec metus. Sed ac interdum diam. Donec eget lacus at nisi cursus luctus. Curabitur id quam tellus. Maecenas euismod magna non faucibus lobortis. Morbi varius nunc vitae
dictum pellentesque. Proin condimentum porttitor felis, a eleifend lorem viverra at. Quisque lobortis aliquet ex et malesuada. Curabitur mattis elit nec felis efficitur, et tincidunt nulla eleifend. Curabitur ac pulvinar est. Cras semper vitae mauris
vitae congue. Nunc sit amet pharetra erat. Sed mattis nunc ac rhoncus euismod. Nam sapien justo, consequat in tortor vitae, vulputate varius diam. Nulla ut velit consequat enim dictum mattis sit amet quis purus. Ut malesuada sapien vel massa dapibus
vehicula. Nunc consequat neque eros, eget consectetur nisl suscipit vel. Nam eget bibendum felis. Donec pellentesque neque ultricies mi imperdiet, eu aliquet velit tempus. Sed ornare tincidunt velit, ac venenatis neque. Fusce condimentum fringilla est,
eu malesuada sem faucibus hendrerit. Cras vitae placerat dui. Nam pellentesque tortor ac metus convallis mattis. Pellentesque maximus fermentum porttitor. Vestibulum vehicula enim feugiat, cursus sem non, luctus nisl. Morbi rhoncus dignissim ante et
fringilla. Vivamus et augue in orci consectetur faucibus at ut ante. Etiam ipsum massa, semper ut congue a, consequat eu turpis.
<count/>
Nunc rutrum erat eget lorem vehicula blandit. Vivamus dictum sem diam, semper pellentesque ipsum finibus suscipit. Aenean fringilla dapibus felis, vitae faucibus lectus ultrices a. Etiam et mi eget ex posuere venenatis. Vestibulum efficitur lacinia augue
vel scelerisque. Nunc cursus nisl a odio laoreet, sit amet ornare risus faucibus. Nulla facilisi. Ut aliquam egestas justo, id dignissim urna sodales in. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas
ut elementum mi, eget varius sapien. Praesent lectus purus, vehicula euismod fringilla vestibulum, iaculis quis dui. In elit augue, aliquam nec nisi at, vehicula sodales tortor. Proin feugiat blandit eros, at elementum erat. Etiam mi orci, euismod vitae
mollis vel, facilisis in ipsum. Donec porta dolor sed hendrerit tempor. Morbi et eros sit amet lorem tristique luctus sed non felis. Aenean eros dui, hendrerit sed odio quis, cursus sollicitudin felis. Nullam tincidunt sed mi nec dictum. Curabitur velit
purus, gravida nec luctus at, vehicula ut lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque vitae est eu ipsum scelerisque ullamcorper sit amet commodo elit. Nulla ut commodo tortor.
<count/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam blandit libero eu diam dignissim, eget scelerisque lorem facilisis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus tempor lacus sit amet faucibus sodales. Sed mattis sed
felis ut lacinia. Proin pretium augue nec condimentum fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi dignissim vulputate sagittis. Integer diam justo, suscipit a metus sed, facilisis condimentum
nibh. Nulla ut accumsan lorem, semper iaculis lectus. Pellentesque a nulla id elit accumsan gravida venenatis at urna. Quisque convallis pellentesque arcu, nec cursus nibh bibendum vel. Praesent porta est sit amet nisi hendrerit bibendum. Sed condimentum,
mi vel accumsan pellentesque, magna orci tincidunt nulla, at imperdiet nunc odio nec metus. Sed ac interdum diam. Donec eget lacus at nisi cursus luctus. Curabitur id quam tellus. Maecenas euismod magna non faucibus lobortis. Morbi varius nunc vitae
dictum pellentesque. Proin condimentum porttitor felis, a eleifend lorem viverra at. Quisque lobortis aliquet ex et malesuada. Curabitur mattis elit nec felis efficitur, et tincidunt nulla eleifend. Curabitur ac pulvinar est. Cras semper vitae mauris
vitae congue. Nunc sit amet pharetra erat. Sed mattis nunc ac rhoncus euismod. Nam sapien justo, consequat in tortor vitae, vulputate varius diam. Nulla ut velit consequat enim dictum mattis sit amet quis purus. Ut malesuada sapien vel massa dapibus
vehicula.
<count/>
Nunc consequat neque eros, eget consectetur nisl suscipit vel. Nam eget bibendum felis. Donec pellentesque neque ultricies mi imperdiet, eu aliquet velit tempus. Sed ornare tincidunt velit, ac venenatis neque. Fusce condimentum fringilla est, eu malesuada
sem faucibus hendrerit. Cras vitae placerat dui. Nam pellentesque tortor ac metus convallis mattis. Pellentesque maximus fermentum porttitor. Vestibulum vehicula enim feugiat, cursus sem non, luctus nisl. Morbi rhoncus dignissim ante et fringilla. Vivamus
et augue in orci consectetur faucibus at ut ante. Etiam ipsum massa, semper ut congue a, consequat eu turpis. Nunc rutrum erat eget lorem vehicula blandit. Vivamus dictum sem diam, semper pellentesque ipsum finibus suscipit. Aenean fringilla dapibus
felis, vitae faucibus lectus ultrices a. Etiam et mi eget ex posuere venenatis. Vestibulum efficitur lacinia augue vel scelerisque. Nunc cursus nisl a odio laoreet, sit amet ornare risus faucibus. Nulla facilisi. Ut aliquam egestas justo, id dignissim
urna sodales in. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas ut elementum mi, eget varius sapien. Praesent lectus purus, vehicula euismod fringilla vestibulum, iaculis quis dui. In elit augue,
aliquam nec nisi at, vehicula sodales tortor. Proin feugiat blandit eros, at elementum erat.
<count/>
Etiam mi orci, euismod vitae mollis vel, facilisis in ipsum. Donec porta dolor sed hendrerit tempor. Morbi et eros sit amet lorem tristique luctus sed non felis. Aenean eros dui, hendrerit sed odio quis, cursus sollicitudin felis. Nullam tincidunt sed
mi nec dictum. Curabitur velit purus, gravida nec luctus at, vehicula ut lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque vitae est eu ipsum scelerisque ullamcorper sit amet commodo elit. Nulla
ut commodo tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam blandit libero eu diam dignissim, eget scelerisque lorem facilisis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus tempor lacus sit amet faucibus
sodales. Sed mattis sed felis ut lacinia. Proin pretium augue nec condimentum fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi dignissim vulputate sagittis. Integer diam justo, suscipit a metus
sed, facilisis condimentum nibh. Nulla ut accumsan lorem, semper iaculis lectus. Pellentesque a nulla id elit accumsan gravida venenatis at urna. Quisque convallis pellentesque arcu, nec cursus nibh bibendum vel. Praesent porta est sit amet nisi hendrerit
bibendum. Sed condimentum, mi vel accumsan pellentesque, magna orci tincidunt nulla, at imperdiet nunc odio nec metus.
<count/>
Sed ac interdum diam. Donec eget lacus at nisi cursus luctus. Curabitur id quam tellus. Maecenas euismod magna non faucibus lobortis. Morbi varius nunc vitae dictum pellentesque. Proin condimentum porttitor felis, a eleifend lorem viverra at. Quisque
lobortis aliquet ex et malesuada. Curabitur mattis elit nec felis efficitur, et tincidunt nulla eleifend. Curabitur ac pulvinar est. Cras semper vitae mauris vitae congue. Nunc sit amet pharetra erat. Sed mattis nunc ac rhoncus euismod. Nam sapien justo,
consequat in tortor vitae, vulputate varius diam. Nulla ut velit consequat enim dictum mattis sit amet quis purus. Ut malesuada sapien vel massa dapibus vehicula. Nunc consequat neque eros, eget consectetur nisl suscipit vel. Nam eget bibendum felis.
Donec pellentesque neque ultricies mi imperdiet, eu aliquet velit tempus. Sed ornare tincidunt velit, ac venenatis neque. Fusce condimentum fringilla est, eu malesuada sem faucibus hendrerit. Cras vitae placerat dui. Nam pellentesque tortor ac metus
convallis mattis. Pellentesque maximus fermentum porttitor. Vestibulum vehicula enim feugiat, cursus sem non, luctus nisl. Morbi rhoncus dignissim ante et fringilla. Vivamus et augue in orci consectetur faucibus at ut ante. Etiam ipsum massa, semper
ut congue a, consequat eu turpis.
<count/>
Nunc rutrum erat eget lorem vehicula blandit. Vivamus dictum sem diam, semper pellentesque ipsum finibus suscipit. Aenean fringilla dapibus felis, vitae faucibus lectus ultrices a. Etiam et mi eget ex posuere venenatis. Vestibulum efficitur lacinia augue
vel scelerisque. Nunc cursus nisl a odio laoreet, sit amet ornare risus faucibus. Nulla facilisi. Ut aliquam egestas justo, id dignissim urna sodales in. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas
ut elementum mi, eget varius sapien. Praesent lectus purus, vehicula euismod fringilla vestibulum, iaculis quis dui. In elit augue, aliquam nec nisi at, vehicula sodales tortor. Proin feugiat blandit eros, at elementum erat.
</section>
<input type="button" onclick="print()" value=" --> Click Here to print! <--">
You can use the #media print css parameter to define different styles only for printing.
If you can show me an example of HTML I can give you a proper solution, but in general you can define your div's or table's with with float:left; under #media print.
You could possibly do this with CSS print styling, but you need to be careful with tables as well as floating divs, it doesn't always work. page-break-before