How to animate float element while maintaining text wrapping? - html

I'm currently trying to animate an image inside a paragraph. The image is floating to the right, to have the text wrapping around it. I would like to animate the position of this image and having the text wrapping dynamically, how could I achieve that ?
img#img-1 {
animation: top_to_bottom 3s ease-in-out infinite;
float: right;
margin: 10px;
}
#keyframes top_to_bottom {
from {}
50% {
transform: translateY(100px);
}
to {
transform: translateY(0px);
}
}
<img src="https://picsum.photos/200" alt="" id="img-1">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Magna etiam tempor orci eu lobortis elementum nibh tellus. Ullamcorper dignissim cras tincidunt lobortis. Elit eget gravida cum sociis. Etiam sit amet nisl purus in mollis. Sapien et ligula ullamcorper malesuada proin libero. Massa tincidunt nunc pulvinar sapien et. Adipiscing enim eu turpis egestas pretium. Leo integer malesuada nunc vel risus commodo. Nunc consequat interdum varius sit amet mattis vulputate enim.
Vitae aliquet nec ullamcorper sit amet. Sem fringilla ut morbi tincidunt augue. Posuere morbi leo urna molestie at elementum eu facilisis sed. Sed arcu non odio euismod lacinia at quis risus. Ultrices eros in cursus turpis massa tincidunt dui ut ornare. Tellus cras adipiscing enim eu turpis. Vitae ultricies leo integer malesuada. Est ultricies integer quis auctor. Amet consectetur adipiscing elit duis tristique sollicitudin nibh sit amet. Eu turpis egestas pretium aenean pharetra magna ac. Non blandit massa enim nec. Euismod nisi porta lorem mollis aliquam ut porttitor. Diam sollicitudin tempor id eu nisl nunc mi. Et netus et malesuada fames. Sed enim ut sem viverra aliquet eget. Vel quam elementum pulvinar etiam non quam lacus. Et tortor at risus viverra adipiscing at in.
Libero volutpat sed cras ornare arcu dui vivamus arcu. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Velit dignissim sodales ut eu sem integer vitae. Turpis tincidunt id aliquet risus feugiat. Morbi tincidunt ornare massa eget egestas purus viverra. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi nullam. Auctor urna nunc id cursus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim. Urna neque viverra justo nec. Lectus quam id leo in. Sed arcu non odio euismod. Enim lobortis scelerisque fermentum dui faucibus in ornare quam. Molestie nunc non blandit massa enim. Quam adipiscing vitae proin sagittis nisl rhoncus. Facilisi cras fermentum odio eu feugiat pretium nibh ipsum. Orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt tortor.
</p>

shape-outside can do this:
img#img-1 {
animation: top_to_bottom 3s ease-in-out infinite;
float: right;
margin: 10px;
shape-outside: inset(0px 0 0 0);
}
p {
text-align:justify;
}
#keyframes top_to_bottom {
50% {
transform: translateY(100px);
shape-outside: inset(100px 0 0 0);
margin-bottom:110px;
}
}
<img src="https://picsum.photos/200" alt="" id="img-1">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Magna etiam tempor orci eu lobortis elementum nibh tellus. Ullamcorper dignissim cras tincidunt lobortis. Elit eget gravida cum
sociis. Etiam sit amet nisl purus in mollis. Sapien et ligula ullamcorper malesuada proin libero. Massa tincidunt nunc pulvinar sapien et. Adipiscing enim eu turpis egestas pretium. Leo integer malesuada nunc vel risus commodo. Nunc consequat interdum
varius sit amet mattis vulputate enim. Vitae aliquet nec ullamcorper sit amet. Sem fringilla ut morbi tincidunt augue. Posuere morbi leo urna molestie at elementum eu facilisis sed. Sed arcu non odio euismod lacinia at quis risus. Ultrices eros in cursus
turpis massa tincidunt dui ut ornare. Tellus cras adipiscing enim eu turpis. Vitae ultricies leo integer malesuada. Est ultricies integer quis auctor. Amet consectetur adipiscing elit duis tristique sollicitudin nibh sit amet. Eu turpis egestas pretium
aenean pharetra magna ac. Non blandit massa enim nec. Euismod nisi porta lorem mollis aliquam ut porttitor. Diam sollicitudin tempor id eu nisl nunc mi. Et netus et malesuada fames. Sed enim ut sem viverra aliquet eget. Vel quam elementum pulvinar etiam
non quam lacus. Et tortor at risus viverra adipiscing at in. Libero volutpat sed cras ornare arcu dui vivamus arcu. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Velit dignissim sodales ut eu sem integer vitae. Turpis tincidunt
id aliquet risus feugiat. Morbi tincidunt ornare massa eget egestas purus viverra. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi nullam. Auctor urna nunc id cursus. Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper
dignissim. Urna neque viverra justo nec. Lectus quam id leo in. Sed arcu non odio euismod. Enim lobortis scelerisque fermentum dui faucibus in ornare quam. Molestie nunc non blandit massa enim. Quam adipiscing vitae proin sagittis nisl rhoncus. Facilisi
cras fermentum odio eu feugiat pretium nibh ipsum. Orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt tortor.
</p>

Related

How to fixed footer at the bottom of the page? [duplicate]

This question already has answers here:
Make div stay at bottom of page's content all the time even when there are scrollbars
(12 answers)
Closed 1 year ago.
Here is my code, i want my footer to be static at the bottom of my html page, how can i fixed it ?
<footer class="footer">
<div>
</div>
<div class="footer_container">
<%= link_to "About Us", '#' %>
<%= link_to "Contact Us", '#' %>
</div>
</footer>
just write this css:
.footer {
position: fixed;
left: 0;
bottom: 0;
width: 100%; // <- this is optional
}
here is the reference
Add .footer Class
.footer {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: red;
color: white;
text-align: center;
}
<h2>Footer Example</h2>
<div class="footer">
<div>
</div>
<div class="footer_container">
<ul class="navigation">
<li>About Us</li>
<li>Contact Us</li>
</ul>
</div>
</div>
html,
body {
margin: 0;
padding: 0;
height: 100%;
}
#container {
min-height: 100%;
position: relative;
}
#header {
background: #ff0;
padding: 10px;
}
#body {
padding: 10px;
padding-bottom: 60px;
/* Height of the footer */
}
#footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
/* Height of the footer */
background: #6cf;
}
<div id="container">
<div id="header">This is header</div>
<div id="body">
<h1>This is body DUMMY TEXT</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. At varius vel pharetra vel turpis nunc. Accumsan sit amet nulla facilisi. Molestie at elementum eu facilisis sed odio. Vitae
sapien pellentesque habitant morbi tristique senectus et. Lobortis scelerisque fermentum dui faucibus. Nunc scelerisque viverra mauris in aliquam sem. Congue mauris rhoncus aenean vel elit scelerisque mauris. Laoreet id donec ultrices tincidunt
arcu non sodales neque sodales. Velit aliquet sagittis id consectetur purus ut faucibus. Ipsum nunc aliquet bibendum enim facilisis gravida. Gravida in fermentum et sollicitudin ac orci phasellus. Tortor vitae purus faucibus ornare suspendisse sed
nisi. Faucibus pulvinar elementum integer enim neque volutpat. Venenatis cras sed felis eget velit. Velit egestas dui id ornare. Tempus iaculis urna id volutpat. In hac habitasse platea dictumst. Viverra maecenas accumsan lacus vel facilisis volutpat.
Enim praesent elementum facilisis leo. Ut tristique et egestas quis. Id interdum velit laoreet id donec ultrices tincidunt arcu. Volutpat lacus laoreet non curabitur gravida arcu ac tortor dignissim. Sit amet consectetur adipiscing elit duis tristique
sollicitudin nibh sit. Nec dui nunc mattis enim ut tellus. Adipiscing vitae proin sagittis nisl rhoncus. Bibendum est ultricies integer quis auctor. Egestas tellus rutrum tellus pellentesque eu tincidunt. Sagittis id consectetur purus ut faucibus
pulvinar elementum. Feugiat pretium nibh ipsum consequat nisl vel. Integer malesuada nunc vel risus. Tortor id aliquet lectus proin nibh nisl. Ante metus dictum at tempor commodo ullamcorper a. Enim blandit volutpat maecenas volutpat blandit aliquam
etiam erat. Morbi blandit cursus risus at ultrices mi. Netus et malesuada fames ac turpis egestas. Sed augue lacus viverra vitae congue. Cursus risus at ultrices mi. Libero enim sed faucibus turpis in eu mi bibendum neque. Vulputate dignissim suspendisse
in est ante in nibh mauris cursus. Ultricies mi quis hendrerit dolor magna eget. Cras adipiscing enim eu turpis egestas pretium aenean pharetra. Mattis ullamcorper velit sed ullamcorper morbi. Vel risus commodo viverra maecenas accumsan lacus vel.
Posuere urna nec tincidunt praesent semper feugiat nibh sed. Hendrerit gravida rutrum quisque non tellus orci. In nulla posuere sollicitudin aliquam ultrices sagittis orci. Eget mauris pharetra et ultrices neque ornare. Commodo ullamcorper a lacus
vestibulum. Ligula ullamcorper malesuada proin libero nunc consequat. Augue eget arcu dictum varius duis at consectetur lorem. Felis imperdiet proin fermentum leo vel orci porta. Et netus et malesuada fames ac. Tincidunt augue interdum velit euismod
in. Auctor neque vitae tempus quam pellentesque nec nam aliquam. Enim neque volutpat ac tincidunt vitae semper quis lectus nulla. Semper viverra nam libero justo laoreet sit amet cursus sit. Quis risus sed vulputate odio. Non curabitur gravida arcu
ac tortor. Pellentesque eu tincidunt tortor aliquam nulla. Dui sapien eget mi proin sed libero enim sed faucibus. Adipiscing elit duis tristique sollicitudin. Enim lobortis scelerisque fermentum dui faucibus. Ac placerat vestibulum lectus mauris
ultrices eros in cursus turpis. Congue eu consequat ac felis donec. Diam maecenas sed enim ut sem viverra. Id cursus metus aliquam eleifend mi in nulla posuere sollicitudin. Nibh venenatis cras sed felis eget velit aliquet sagittis id. Risus at
ultrices mi tempus imperdiet nulla. Vel eros donec ac odio tempor orci dapibus ultrices in. Nisl condimentum id venenatis a condimentum vitae. Amet est placerat in egestas erat. Aliquet nec ullamcorper sit amet. Odio facilisis mauris sit amet massa.
Velit aliquet sagittis id consectetur. Leo integer malesuada nunc vel. In ornare quam viverra orci. Tristique senectus et netus et malesuada. Sit amet purus gravida quis blandit turpis cursus in. Bibendum arcu vitae elementum curabitur vitae. Ultrices
gravida dictum fusce ut. Tellus rutrum tellus pellentesque eu. Sit amet luctus venenatis lectus. Eget felis eget nunc lobortis mattis. Aliquet eget sit amet tellus cras adipiscing enim eu turpis. Blandit turpis cursus in hac habitasse platea. Adipiscing
at in tellus integer feugiat scelerisque. Ut eu sem integer vitae justo. Id velit ut tortor pretium viverra suspendisse potenti. Nunc pulvinar sapien et ligula ullamcorper malesuada. Nulla aliquet enim tortor at. Suspendisse interdum consectetur
libero id faucibus. Vitae et leo duis ut diam quam nulla porttitor massa. Posuere ac ut consequat semper viverra nam libero. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies leo integer malesuada nunc vel risus commodo viverra.
Mi bibendum neque egestas congue quisque egestas diam. Luctus venenatis lectus magna fringilla urna porttitor rhoncus. Nec feugiat in fermentum posuere urna nec. Cras ornare arcu dui vivamus arcu. Tincidunt vitae semper quis lectus nulla. Faucibus
in ornare quam viverra orci sagittis eu volutpat. Interdum posuere lorem ipsum dolor sit amet consectetur adipiscing elit. Molestie at elementum eu facilisis sed odio morbi quis commodo. In aliquam sem fringilla ut morbi tincidunt augue. Quam pellentesque
nec nam aliquam sem et tortor consequat. In massa tempor nec feugiat nisl. Suspendisse sed nisi lacus sed viverra tellus in hac. Pretium lectus quam id leo in vitae. Maecenas sed enim ut sem viverra aliquet eget. Nulla malesuada pellentesque elit
eget gravida cum sociis. Consectetur a erat nam at lectus. In fermentum et sollicitudin ac orci. Purus ut faucibus pulvinar elementum integer enim. Ut diam quam nulla porttitor massa id neque. Vitae semper quis lectus nulla at. Amet facilisis magna
etiam tempor orci eu lobortis elementum nibh. Etiam sit amet nisl purus. Lectus mauris ultrices eros in cursus turpis massa. Vel facilisis volutpat est velit egestas dui id ornare arcu. Feugiat vivamus at augue eget arcu dictum varius. Sem et tortor
consequat id porta nibh venenatis cras sed. Euismod elementum nisi quis eleifend. Etiam non quam lacus suspendisse faucibus. Fringilla urna porttitor rhoncus dolor purus non enim praesent elementum. Suspendisse interdum consectetur libero id faucibus
nisl tincidunt eget. Auctor augue mauris augue neque gravida in. Ornare arcu dui vivamus arcu felis bibendum ut tristique. Ullamcorper sit amet risus nullam eget. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus.
Nec ultrices dui sapien eget mi proin sed libero enim. Lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi tincidunt ornare. Vel risus commodo viverra maecenas accumsan. Donec pretium vulputate sapien nec sagittis aliquam malesuada.
Imperdiet sed euismod nisi porta lorem mollis aliquam ut. Nunc sed blandit libero volutpat sed cras. Enim eu turpis egestas pretium aenean pharetra magna ac placerat. Augue ut lectus arcu bibendum. Orci porta non pulvinar neque laoreet suspendisse.
Gravida neque convallis a cras semper. Bibendum enim facilisis gravida neque convallis a cras semper. Elementum curabitur vitae nunc sed velit dignissim sodales ut. Mauris in aliquam sem fringilla ut morbi tincidunt. Consequat ac felis donec et
odio. Neque gravida in fermentum et sollicitudin ac orci phasellus egestas. Vel pharetra vel turpis nunc. Velit aliquet sagittis id consectetur purus ut. Mi ipsum faucibus vitae aliquet nec ullamcorper sit. Ut faucibus pulvinar elementum integer.
Convallis posuere morbi leo urna molestie at elementum. Justo nec ultrices dui sapien. Sed blandit libero volutpat sed cras ornare arcu dui. Malesuada pellentesque elit eget gravida cum sociis natoque penatibus. Adipiscing elit ut aliquam purus
sit amet luctus venenatis lectus. Non diam phasellus vestibulum lorem sed risus ultricies tristique. Dictumst quisque sagittis purus sit. Pellentesque nec nam aliquam sem et tortor consequat id. Diam ut venenatis tellus in. Eu nisl nunc mi ipsum
faucibus vitae aliquet nec. Consequat interdum varius sit amet mattis vulputate enim nulla aliquet. Adipiscing diam donec adipiscing tristique risus. Tortor at auctor urna nunc id cursus metus aliquam eleifend. Eget dolor morbi non arcu risus quis
varius. Facilisis volutpat est velit egestas dui. Varius vel pharetra vel turpis nunc eget. Eget mi proin sed libero enim sed faucibus turpis. Euismod elementum nisi quis eleifend quam adipiscing vitae proin sagittis. Ultricies mi quis hendrerit
dolor magna eget est lorem. Amet facilisis magna etiam tempor orci. Nulla pharetra diam sit amet nisl suscipit adipiscing bibendum. Elit ut aliquam purus sit amet luctus venenatis lectus. Eget lorem dolor sed viverra ipsum nunc. Magna sit amet purus
gravida quis blandit turpis. Eget felis eget nunc lobortis mattis aliquam. Turpis egestas pretium aenean pharetra magna ac. In ornare quam viverra orci sagittis eu volutpat. Feugiat in fermentum posuere urna nec tincidunt praesent semper feugiat.
Purus in mollis nunc sed id semper risus in hendrerit. Odio tempor orci dapibus ultrices in. Viverra vitae congue eu consequat ac felis donec et odio. Etiam sit amet nisl purus in mollis nunc. Molestie ac feugiat sed lectus vestibulum mattis ullamcorper
velit sed. Nibh tellus molestie nunc non blandit. Pharetra sit amet aliquam id diam maecenas ultricies. Eu facilisis sed odio morbi quis commodo. Id consectetur purus ut faucibus. Blandit cursus risus at ultrices mi tempus. Id interdum velit laoreet
id donec ultrices. Purus gravida quis blandit turpis cursus in. A scelerisque purus semper eget. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant. At augue eget arcu dictum varius duis. Suspendisse faucibus interdum posuere lorem.
Id faucibus nisl tincidunt eget nullam. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Tortor posuere ac ut consequat semper viverra. Est lorem ipsum dolor sit amet. Scelerisque eleifend donec pretium vulputate sapien. Tempus iaculis
urna id volutpat lacus laoreet. Tristique nulla aliquet enim tortor. Consectetur a erat nam at lectus. Mi sit amet mauris commodo quis. Purus gravida quis blandit turpis. Mi eget mauris pharetra et ultrices neque ornare. Ornare arcu dui vivamus
arcu. Risus at ultrices mi tempus imperdiet nulla malesuada pellentesque. At quis risus sed vulputate odio ut. Sed augue lacus viverra vitae. Sit amet purus gravida quis blandit turpis cursus in. Enim blandit volutpat maecenas volutpat blandit aliquam.
Lacus sed turpis tincidunt id aliquet risus. Nunc mi ipsum faucibus vitae aliquet nec ullamcorper sit amet. Gravida arcu ac tortor dignissim convallis aenean. Tellus integer feugiat scelerisque varius morbi enim nunc faucibus. Tortor vitae purus
faucibus ornare suspendisse sed nisi lacus. Varius sit amet mattis vulputate enim. Enim diam vulputate ut pharetra. Pharetra sit amet aliquam id diam maecenas ultricies mi eget. Pretium quam vulputate dignissim suspendisse in est ante in nibh. Odio
euismod lacinia at quis risus sed. Nunc faucibus a pellentesque sit amet porttitor eget dolor. Massa id neque aliquam vestibulum. Id donec ultrices tincidunt arcu non sodales neque sodales. Iaculis eu non diam phasellus vestibulum lorem sed risus.
Volutpat ac tincidunt vitae semper quis lectus nulla at. Feugiat sed lectus vestibulum mattis ullamcorper velit sed ullamcorper. Arcu bibendum at varius vel pharetra vel turpis. Velit aliquet sagittis id consectetur purus ut faucibus. Enim tortor
at auctor urna nunc. Ut etiam sit amet nisl purus in mollis nunc sed. Eu feugiat pretium nibh ipsum consequat. Dui sapien eget mi proin sed. Habitant morbi tristique senectus et netus. Convallis aenean et tortor at risus viverra adipiscing at. Tempus
imperdiet nulla malesuada pellentesque. Massa id neque aliquam vestibulum morbi blandit cursus risus. Adipiscing bibendum est ultricies integer. Luctus accumsan tortor posuere ac ut consequat. Nulla facilisi etiam dignissim diam quis enim lobortis
scelerisque. Consequat mauris nunc congue nisi vitae suscipit tellus mauris. Placerat in egestas erat imperdiet sed euismod nisi porta. Est sit amet facilisis magna etiam tempor orci eu lobortis. Tortor at risus viverra adipiscing at in. Sed cras
ornare arcu dui vivamus. Neque laoreet suspendisse interdum consectetur. Dui faucibus in ornare quam viverra orci. Cursus sit amet dictum sit amet justo donec enim. Maecenas volutpat blandit aliquam etiam erat velit. Id nibh tortor id aliquet lectus
proin. Vulputate ut pharetra sit amet. Placerat vestibulum lectus mauris ultrices eros in cursus turpis. Elementum curabitur vitae nunc sed velit dignissim sodales ut eu. Tincidunt dui ut ornare lectus sit amet. Diam donec adipiscing tristique risus
nec feugiat in fermentum posuere. Lacinia quis vel eros donec ac odio tempor orci. Sodales ut eu sem integer vitae justo eget magna. Id leo in vitae turpis massa sed. Aenean et tortor at risus viverra adipiscing at. Malesuada pellentesque elit eget
gravida cum sociis natoque penatibus et. Feugiat vivamus at augue eget arcu dictum varius duis at. Quis auctor elit sed vulputate mi sit amet mauris. Duis ut diam quam nulla porttitor massa id neque aliquam. Dictum varius duis at consectetur lorem
donec massa. Sagittis orci a scelerisque purus semper eget. Arcu felis bibendum ut tristique et. Nibh ipsum consequat nisl vel. Fermentum odio eu feugiat pretium nibh ipsum consequat. Amet commodo nulla facilisi nullam vehicula ipsum a. Enim tortor
at auctor urna nunc id. Faucibus nisl tincidunt eget nullam non. Volutpat odio facilisis mauris sit amet massa. Elementum integer enim neque volutpat ac tincidunt vitae semper. Ut tortor pretium viverra suspendisse potenti nullam ac tortor vitae.
In tellus integer feugiat scelerisque varius morbi enim. At consectetur lorem donec massa. Tristique risus nec feugiat in fermentum posuere urna. Diam in arcu cursus euismod quis viverra nibh cras. Pellentesque nec nam aliquam sem et tortor consequat
id. Sem viverra aliquet eget sit amet tellus. Diam vel quam elementum pulvinar. Nec ultrices dui sapien eget mi proin. Eget egestas purus viverra accumsan in nisl nisi scelerisque. Vulputate odio ut enim blandit. Habitasse platea dictumst vestibulum
rhoncus est pellentesque elit. Pretium fusce id velit ut tortor pretium viverra suspendisse potenti. Rhoncus mattis rhoncus urna neque viverra justo nec ultrices. Nulla facilisi cras fermentum odio eu feugiat pretium nibh. Integer eget aliquet nibh
praesent tristique magna sit. Ut pharetra sit amet aliquam. Aenean et tortor at risus viverra.</p>
</div>
<div id="footer">This will be footer</div>
</div>

jQuery .toggleClass on specific container to add additional class

So I have some html containers which are repeated on a page. Each container will contain large portions of text. As the text will span a considerable number of lines each container has a max-height so the containers arn't too big to scroll past with the overflow of the containers hidden so you have to scroll in them.
Using jquery, I want to have a button below each container which will expand only the specific container it is meant to work for.
How I want to do this is by using jquery to toggle a css class only on the specific container the button is meant for. I've inlcuded a snippet to show the concept and what I've managed to get working but currently my code adds the css class to every container not just the specific one.
Also I don't think I've written the jquery code properly either. It works in FireFox but not in the stackoverflow snippet, so help with understanding what I've written wrong there would also be much appreciated.
I've tried to figure it out and have tried to use similar answers to similar questions found on stackoverflow, but as I am still learning jquery I've gotten myself completely stuck with this.
$("container-expand").click(function(){
$(".container-box").toggleClass("container-box-expand");
});
.container-box {
display: block;
background-color: #f6f6f6;
font-size: 17px;
line-height: 1.5;
white-space: nowrap;
max-width: 100%;
max-height: 100px;
overflow: auto;
margin: 0;
padding: 20px 25px;
}
.container-box-expand {
max-height: none;
}
<div class="container-box">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna. Auctor elit sed vulputate mi sit amet mauris commodo quis. Interdum velit laoreet id donec ultrices. Posuere ac ut consequat semper viverra nam libero justo laoreet. Nec sagittis aliquam malesuada bibendum arcu. Cras fermentum odio eu feugiat. Facilisi nullam vehicula ipsum a arcu cursus vitae. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium. Duis ut diam quam nulla. Augue ut lectus arcu bibendum at varius vel pharetra vel. Nunc eget lorem dolor sed viverra ipsum nunc. Urna id volutpat lacus laoreet. In est ante in nibh mauris cursus mattis molestie. Scelerisque varius morbi enim nunc faucibus a pellentesque sit amet.
<br/><br/>
Diam maecenas ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper. Cras ornare arcu dui vivamus arcu felis bibendum. Turpis egestas integer eget aliquet nibh praesent tristique. Eget nullam non nisi est. Enim nec dui nunc mattis enim ut tellus. Ipsum faucibus vitae aliquet nec. Nibh praesent tristique magna sit amet purus. Malesuada pellentesque elit eget gravida cum sociis. Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Habitasse platea dictumst quisque sagittis purus sit amet. Nec ultrices dui sapien eget. Sit amet volutpat consequat mauris nunc. Scelerisque felis imperdiet proin fermentum leo vel orci porta. Dictum at tempor commodo ullamcorper a lacus vestibulum sed arcu. Risus ultricies tristique nulla aliquet enim. Sem integer vitae justo eget magna fermentum iaculis. Tempor nec feugiat nisl pretium fusce id. Quis varius quam quisque id diam vel quam elementum pulvinar.
<br/><br/>
Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis. Tincidunt arcu non sodales neque sodales ut etiam sit amet. Sed adipiscing diam donec adipiscing tristique risus nec. Eu volutpat odio facilisis mauris sit amet massa vitae. Morbi tincidunt augue interdum velit euismod in pellentesque massa placerat. Tempor orci eu lobortis elementum nibh. Ornare quam viverra orci sagittis eu volutpat odio. Nunc lobortis mattis aliquam faucibus purus in. Pulvinar sapien et ligula ullamcorper malesuada proin. Purus sit amet luctus venenatis.
<br/><br/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna. Auctor elit sed vulputate mi sit amet mauris commodo quis. Interdum velit laoreet id donec ultrices. Posuere ac ut consequat semper viverra nam libero justo laoreet. Nec sagittis aliquam malesuada bibendum arcu. Cras fermentum odio eu feugiat. Facilisi nullam vehicula ipsum a arcu cursus vitae. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium. Duis ut diam quam nulla. Augue ut lectus arcu bibendum at varius vel pharetra vel. Nunc eget lorem dolor sed viverra ipsum nunc. Urna id volutpat lacus laoreet. In est ante in nibh mauris cursus mattis molestie. Scelerisque varius morbi enim nunc faucibus a pellentesque sit amet.
<br/><br/>
Diam maecenas ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper. Cras ornare arcu dui vivamus arcu felis bibendum. Turpis egestas integer eget aliquet nibh praesent tristique. Eget nullam non nisi est. Enim nec dui nunc mattis enim ut tellus. Ipsum faucibus vitae aliquet nec. Nibh praesent tristique magna sit amet purus. Malesuada pellentesque elit eget gravida cum sociis. Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Habitasse platea dictumst quisque sagittis purus sit amet. Nec ultrices dui sapien eget. Sit amet volutpat consequat mauris nunc. Scelerisque felis imperdiet proin fermentum leo vel orci porta. Dictum at tempor commodo ullamcorper a lacus vestibulum sed arcu. Risus ultricies tristique nulla aliquet enim. Sem integer vitae justo eget magna fermentum iaculis. Tempor nec feugiat nisl pretium fusce id. Quis varius quam quisque id diam vel quam elementum pulvinar.
<br/><br/>
Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis. Tincidunt arcu non sodales neque sodales ut etiam sit amet. Sed adipiscing diam donec adipiscing tristique risus nec. Eu volutpat odio facilisis mauris sit amet massa vitae. Morbi tincidunt augue interdum velit euismod in pellentesque massa placerat. Tempor orci eu lobortis elementum nibh. Ornare quam viverra orci sagittis eu volutpat odio. Nunc lobortis mattis aliquam faucibus purus in. Pulvinar sapien et ligula ullamcorper malesuada proin. Purus sit amet luctus venenatis.
</div>
<button id="container-expand">Expand</button>
<br/><br/>
<div class="container-box">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna. Auctor elit sed vulputate mi sit amet mauris commodo quis. Interdum velit laoreet id donec ultrices. Posuere ac ut consequat semper viverra nam libero justo laoreet. Nec sagittis aliquam malesuada bibendum arcu. Cras fermentum odio eu feugiat. Facilisi nullam vehicula ipsum a arcu cursus vitae. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium. Duis ut diam quam nulla. Augue ut lectus arcu bibendum at varius vel pharetra vel. Nunc eget lorem dolor sed viverra ipsum nunc. Urna id volutpat lacus laoreet. In est ante in nibh mauris cursus mattis molestie. Scelerisque varius morbi enim nunc faucibus a pellentesque sit amet.
<br/><br/>
Diam maecenas ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper. Cras ornare arcu dui vivamus arcu felis bibendum. Turpis egestas integer eget aliquet nibh praesent tristique. Eget nullam non nisi est. Enim nec dui nunc mattis enim ut tellus. Ipsum faucibus vitae aliquet nec. Nibh praesent tristique magna sit amet purus. Malesuada pellentesque elit eget gravida cum sociis. Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Habitasse platea dictumst quisque sagittis purus sit amet. Nec ultrices dui sapien eget. Sit amet volutpat consequat mauris nunc. Scelerisque felis imperdiet proin fermentum leo vel orci porta. Dictum at tempor commodo ullamcorper a lacus vestibulum sed arcu. Risus ultricies tristique nulla aliquet enim. Sem integer vitae justo eget magna fermentum iaculis. Tempor nec feugiat nisl pretium fusce id. Quis varius quam quisque id diam vel quam elementum pulvinar.
<br/><br/>
Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis. Tincidunt arcu non sodales neque sodales ut etiam sit amet. Sed adipiscing diam donec adipiscing tristique risus nec. Eu volutpat odio facilisis mauris sit amet massa vitae. Morbi tincidunt augue interdum velit euismod in pellentesque massa placerat. Tempor orci eu lobortis elementum nibh. Ornare quam viverra orci sagittis eu volutpat odio. Nunc lobortis mattis aliquam faucibus purus in. Pulvinar sapien et ligula ullamcorper malesuada proin. Purus sit amet luctus venenatis.
<br/><br/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna. Auctor elit sed vulputate mi sit amet mauris commodo quis. Interdum velit laoreet id donec ultrices. Posuere ac ut consequat semper viverra nam libero justo laoreet. Nec sagittis aliquam malesuada bibendum arcu. Cras fermentum odio eu feugiat. Facilisi nullam vehicula ipsum a arcu cursus vitae. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium. Duis ut diam quam nulla. Augue ut lectus arcu bibendum at varius vel pharetra vel. Nunc eget lorem dolor sed viverra ipsum nunc. Urna id volutpat lacus laoreet. In est ante in nibh mauris cursus mattis molestie. Scelerisque varius morbi enim nunc faucibus a pellentesque sit amet.
<br/><br/>
Diam maecenas ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper. Cras ornare arcu dui vivamus arcu felis bibendum. Turpis egestas integer eget aliquet nibh praesent tristique. Eget nullam non nisi est. Enim nec dui nunc mattis enim ut tellus. Ipsum faucibus vitae aliquet nec. Nibh praesent tristique magna sit amet purus. Malesuada pellentesque elit eget gravida cum sociis. Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Habitasse platea dictumst quisque sagittis purus sit amet. Nec ultrices dui sapien eget. Sit amet volutpat consequat mauris nunc. Scelerisque felis imperdiet proin fermentum leo vel orci porta. Dictum at tempor commodo ullamcorper a lacus vestibulum sed arcu. Risus ultricies tristique nulla aliquet enim. Sem integer vitae justo eget magna fermentum iaculis. Tempor nec feugiat nisl pretium fusce id. Quis varius quam quisque id diam vel quam elementum pulvinar.
<br/><br/>
Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis. Tincidunt arcu non sodales neque sodales ut etiam sit amet. Sed adipiscing diam donec adipiscing tristique risus nec. Eu volutpat odio facilisis mauris sit amet massa vitae. Morbi tincidunt augue interdum velit euismod in pellentesque massa placerat. Tempor orci eu lobortis elementum nibh. Ornare quam viverra orci sagittis eu volutpat odio. Nunc lobortis mattis aliquam faucibus purus in. Pulvinar sapien et ligula ullamcorper malesuada proin. Purus sit amet luctus venenatis.
</div>
<button id="container-expand">Expand</button>
<br/><br/>
<div class="container-box">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna. Auctor elit sed vulputate mi sit amet mauris commodo quis. Interdum velit laoreet id donec ultrices. Posuere ac ut consequat semper viverra nam libero justo laoreet. Nec sagittis aliquam malesuada bibendum arcu. Cras fermentum odio eu feugiat. Facilisi nullam vehicula ipsum a arcu cursus vitae. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium. Duis ut diam quam nulla. Augue ut lectus arcu bibendum at varius vel pharetra vel. Nunc eget lorem dolor sed viverra ipsum nunc. Urna id volutpat lacus laoreet. In est ante in nibh mauris cursus mattis molestie. Scelerisque varius morbi enim nunc faucibus a pellentesque sit amet.
<br/><br/>
Diam maecenas ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper. Cras ornare arcu dui vivamus arcu felis bibendum. Turpis egestas integer eget aliquet nibh praesent tristique. Eget nullam non nisi est. Enim nec dui nunc mattis enim ut tellus. Ipsum faucibus vitae aliquet nec. Nibh praesent tristique magna sit amet purus. Malesuada pellentesque elit eget gravida cum sociis. Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Habitasse platea dictumst quisque sagittis purus sit amet. Nec ultrices dui sapien eget. Sit amet volutpat consequat mauris nunc. Scelerisque felis imperdiet proin fermentum leo vel orci porta. Dictum at tempor commodo ullamcorper a lacus vestibulum sed arcu. Risus ultricies tristique nulla aliquet enim. Sem integer vitae justo eget magna fermentum iaculis. Tempor nec feugiat nisl pretium fusce id. Quis varius quam quisque id diam vel quam elementum pulvinar.
<br/><br/>
Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis. Tincidunt arcu non sodales neque sodales ut etiam sit amet. Sed adipiscing diam donec adipiscing tristique risus nec. Eu volutpat odio facilisis mauris sit amet massa vitae. Morbi tincidunt augue interdum velit euismod in pellentesque massa placerat. Tempor orci eu lobortis elementum nibh. Ornare quam viverra orci sagittis eu volutpat odio. Nunc lobortis mattis aliquam faucibus purus in. Pulvinar sapien et ligula ullamcorper malesuada proin. Purus sit amet luctus venenatis.
<br/><br/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna. Auctor elit sed vulputate mi sit amet mauris commodo quis. Interdum velit laoreet id donec ultrices. Posuere ac ut consequat semper viverra nam libero justo laoreet. Nec sagittis aliquam malesuada bibendum arcu. Cras fermentum odio eu feugiat. Facilisi nullam vehicula ipsum a arcu cursus vitae. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium. Duis ut diam quam nulla. Augue ut lectus arcu bibendum at varius vel pharetra vel. Nunc eget lorem dolor sed viverra ipsum nunc. Urna id volutpat lacus laoreet. In est ante in nibh mauris cursus mattis molestie. Scelerisque varius morbi enim nunc faucibus a pellentesque sit amet.
<br/><br/>
Diam maecenas ultricies mi eget mauris pharetra et ultrices. Enim facilisis gravida neque convallis a cras semper. Cras ornare arcu dui vivamus arcu felis bibendum. Turpis egestas integer eget aliquet nibh praesent tristique. Eget nullam non nisi est. Enim nec dui nunc mattis enim ut tellus. Ipsum faucibus vitae aliquet nec. Nibh praesent tristique magna sit amet purus. Malesuada pellentesque elit eget gravida cum sociis. Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Habitasse platea dictumst quisque sagittis purus sit amet. Nec ultrices dui sapien eget. Sit amet volutpat consequat mauris nunc. Scelerisque felis imperdiet proin fermentum leo vel orci porta. Dictum at tempor commodo ullamcorper a lacus vestibulum sed arcu. Risus ultricies tristique nulla aliquet enim. Sem integer vitae justo eget magna fermentum iaculis. Tempor nec feugiat nisl pretium fusce id. Quis varius quam quisque id diam vel quam elementum pulvinar.
<br/><br/>
Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis. Tincidunt arcu non sodales neque sodales ut etiam sit amet. Sed adipiscing diam donec adipiscing tristique risus nec. Eu volutpat odio facilisis mauris sit amet massa vitae. Morbi tincidunt augue interdum velit euismod in pellentesque massa placerat. Tempor orci eu lobortis elementum nibh. Ornare quam viverra orci sagittis eu volutpat odio. Nunc lobortis mattis aliquam faucibus purus in. Pulvinar sapien et ligula ullamcorper malesuada proin. Purus sit amet luctus venenatis.
</div>
<button id="container-expand">Expand</button>
As someone else has said, your id's should be unique. Alternatively, make them classes.
If you make container-expand to be classes then you will need to alter your code like so...
$(".container-expand").click(function(){
$(this).prev().toggleClass("container-box-expand");
});
The this keyword refers to the button you are clicking (otherwise using just the class name would mean both buttons) . The .prev() bit will return the sibling element that comes before that button, so 'container-box' and in turn the correct class will get added to the correct container div.

How to make page numbering at the bottom of web-site?

Do you know how to make a page numbering like this? (link is below) with floats or with positioning and it should be on bottom of the web-site and must not interrupt the content above, I tried several things but can't figure out. Anyone can help?
So This is the numbering I want to make
Here is an example
* {
box-sizing: border-box;
}
#pages-numbers {
display: flex;
flex-direction: row-reverse;
justify-content: center;
flex-wrap: wrap;
}
#pages-numbers a {
background-color: cyan;
color: blue;
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
margin: 5px 5px 0 0;
}
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Rutrum quisque non tellus orci ac auctor augue mauris augue. Turpis egestas pretium aenean pharetra magna ac placerat vestibulum lectus. Tellus cras adipiscing enim eu turpis egestas pretium. Vitae semper quis lectus nulla at volutpat diam ut. Orci sagittis eu volutpat odio facilisis. Pellentesque id nibh tortor id aliquet lectus proin nibh nisl. Ipsum dolor sit amet consectetur adipiscing elit ut. Pellentesque massa placerat duis ultricies. Risus commodo viverra maecenas accumsan lacus vel facilisis volutpat. Suspendisse potenti nullam ac tortor vitae purus faucibus ornare suspendisse. Sit amet mattis vulputate enim nulla aliquet porttitor lacus luctus. Proin fermentum leo vel orci porta. Ultricies lacus sed turpis tincidunt id aliquet. Ac tincidunt vitae semper quis. Rhoncus est pellentesque elit ullamcorper dignissim cras tincidunt lobortis. Ut sem viverra aliquet eget sit amet tellus cras. Lobortis mattis aliquam faucibus purus in massa tempor.
</p>
<p>
Massa eget egestas purus viverra accumsan. Neque sodales ut etiam sit amet. Commodo sed egestas egestas fringilla phasellus. Ut consequat semper viverra nam libero justo. Diam sit amet nisl suscipit adipiscing bibendum. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant. Orci dapibus ultrices in iaculis. Nunc mattis enim ut tellus elementum sagittis. Donec adipiscing tristique risus nec. Turpis egestas sed tempus urna. Viverra maecenas accumsan lacus vel facilisis volutpat. Sed odio morbi quis commodo.
</p>
<p>
Pretium lectus quam id leo in vitae turpis. Nisl pretium fusce id velit ut tortor pretium viverra. Nunc consequat interdum varius sit amet mattis vulputate. Lectus proin nibh nisl condimentum id venenatis. Urna nunc id cursus metus aliquam. Aliquam etiam erat velit scelerisque in dictum non consectetur a. Aliquet nibh praesent tristique magna sit. Ut porttitor leo a diam. Sed ullamcorper morbi tincidunt ornare massa eget. A diam sollicitudin tempor id eu nisl. In nisl nisi scelerisque eu ultrices vitae auctor eu augue. Felis eget velit aliquet sagittis id consectetur purus ut.
</p>
<p>
Orci eu lobortis elementum nibh tellus molestie nunc. Vitae turpis massa sed elementum tempus. Viverra nibh cras pulvinar mattis. Ipsum suspendisse ultrices gravida dictum fusce ut placerat. Adipiscing enim eu turpis egestas. Vitae congue mauris rhoncus aenean vel. Interdum velit laoreet id donec ultrices tincidunt arcu. Senectus et netus et malesuada fames ac turpis. Porttitor eget dolor morbi non arcu risus. Tincidunt id aliquet risus feugiat in ante. Ac turpis egestas maecenas pharetra. Mauris nunc congue nisi vitae suscipit. Elementum facilisis leo vel fringilla est ullamcorper. Tortor at auctor urna nunc id cursus metus aliquam. Ipsum consequat nisl vel pretium.
</p>
<p>
Fermentum posuere urna nec tincidunt praesent. Feugiat in fermentum posuere urna nec tincidunt praesent. Sed ullamcorper morbi tincidunt ornare massa eget egestas. Ac ut consequat semper viverra nam libero justo. Commodo viverra maecenas accumsan lacus. Ac tortor dignissim convallis aenean et tortor at risus. Netus et malesuada fames ac turpis egestas. Potenti nullam ac tortor vitae. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi nullam. Scelerisque varius morbi enim nunc faucibus. Curabitur gravida arcu ac tortor dignissim convallis. In nisl nisi scelerisque eu ultrices vitae auctor eu.
</p>
</div>
<div id="pages-numbers">
123
456
789
101112
131415
161718
192021
222324
252627
282930
3132
</div>

Hiding div when reach a div by scrolling

I need to make a navbar in the left of the page just like this https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_sidenav_fixed2
But i need also to make that navbar hiding when reaching footer and re-appear when scrolling up.
Is it possible?
Thank in advance
This can be done using CSS and Jquery
Ill provide you and example here to see how you can achieve this.
$(document).ready(function() {
function sticky_relocate() {
var window_top = $(window).scrollTop();
var footer_top = $("#footer").offset().top;
var div_top = $('#sticky-anchor').offset().top;
var div_height = $("#sticky").height();
if (window_top + div_height > footer_top) $('#sticky').removeClass('stick');
else if (window_top > div_top) {
$('#sticky').addClass('stick');
} else {
$('#sticky').removeClass('stick');
}
}
$(function() {
$(window).scroll(sticky_relocate);
sticky_relocate();
});
});
#sticky {
padding: 0.5ex;
width: 200px;
height: 300px;
background-color: #eee;
color: #fff;
font-size: 2em;
border-radius: 0.5ex;
float: left;
}
#sticky.stick {
position: fixed;
top: 0;
z-index: 10;
border-radius: 0 0 0.5em 0.5em;
}
#sticky a {
padding: 6px 8px 6px 16px;
text-decoration: none;
font-size: 25px;
color: #2196F3;
display: block;
}
#sticky a:hover {
color: #064579;
}
.content-holder {
margin-left: 225px;
}
body {
margin: 1em;
}
p {
margin: 1em auto;
}
#footer {
width: 100%;
height: 600px;
background: #ccc;
z-index: 999999
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="mainsection">
<div class="sidenav" id="sticky">
About Services Clients Contact
</div>
<div id="sticky-anchor"></div>
<div class="content-holder">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sagittis id consectetur purus ut faucibus pulvinar. Turpis massa tincidunt dui ut ornare lectus sit amet est. Semper auctor neque vitae tempus quam pellentesque nec nam. Ut faucibus pulvinar elementum integer enim neque volutpat. Nec dui nunc mattis enim ut. Ultricies tristique nulla aliquet enim tortor at auctor urna nunc. Proin sed libero enim sed faucibus turpis. Fermentum posuere urna nec tincidunt. Pulvinar sapien et ligula ullamcorper malesuada proin libero nunc consequat. Id aliquet lectus proin nibh nisl. Venenatis urna cursus eget nunc scelerisque viverra mauris. Vitae auctor eu augue ut lectus. Etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus. Nibh mauris cursus mattis molestie a iaculis at erat pellentesque. Mauris sit amet massa vitae tortor condimentum lacinia quis. Mauris rhoncus aenean vel elit scelerisque. Varius morbi enim nunc faucibus a pellentesque sit. Egestas integer eget aliquet nibh praesent tristique.</p>
<p>Sit amet porttitor eget dolor morbi non arcu risus quis. Id diam vel quam elementum pulvinar etiam. Id porta nibh venenatis cras sed felis eget velit. Auctor elit sed vulputate mi sit amet mauris commodo quis. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Ultricies integer quis auctor elit sed vulputate. Netus et malesuada fames ac turpis egestas maecenas pharetra. Molestie at elementum eu facilisis sed odio morbi. Mi bibendum neque egestas congue quisque egestas. Netus et malesuada fames ac turpis egestas. Convallis aenean et tortor at risus viverra adipiscing at. Elit at imperdiet dui accumsan sit amet nulla facilisi.</p>
<p>Quam pellentesque nec nam aliquam sem. Nunc sed augue lacus viverra vitae. Nisl nisi scelerisque eu ultrices vitae auctor eu augue ut. Vitae justo eget magna fermentum iaculis eu. Eu augue ut lectus arcu bibendum. Consectetur adipiscing elit ut aliquam purus. Accumsan tortor posuere ac ut consequat semper viverra nam libero. Donec et odio pellentesque diam volutpat commodo. Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Turpis egestas pretium aenean pharetra magna ac placerat. Habitasse platea dictumst quisque sagittis. Est velit egestas dui id ornare arcu odio ut sem. Sollicitudin aliquam ultrices sagittis orci a scelerisque purus semper eget. Integer quis auctor elit sed vulputate mi. A scelerisque purus semper eget duis. Eget sit amet tellus cras adipiscing enim. Cursus risus at ultrices mi tempus imperdiet nulla malesuada pellentesque. Urna nunc id cursus metus aliquam eleifend mi. Id leo in vitae turpis massa. Nibh tellus molestie nunc non blandit massa enim nec dui.</p>
<p>Scelerisque felis imperdiet proin fermentum leo vel orci porta non. Odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus. Non tellus orci ac auctor augue mauris augue neque gravida. Nisl nunc mi ipsum faucibus vitae aliquet nec. Consectetur adipiscing elit pellentesque habitant morbi tristique. Nisi est sit amet facilisis magna etiam. Odio facilisis mauris sit amet massa vitae tortor. Amet est placerat in egestas erat imperdiet. Ut eu sem integer vitae justo eget magna fermentum. Ac felis donec et odio pellentesque diam volutpat commodo.</p>
<p>Eleifend mi in nulla posuere sollicitudin aliquam ultrices. Mauris commodo quis imperdiet massa. Nunc id cursus metus aliquam eleifend mi in nulla. Nisi est sit amet facilisis magna etiam tempor orci eu. Vitae ultricies leo integer malesuada nunc vel risus. Lobortis feugiat vivamus at augue eget arcu. Risus at ultrices mi tempus. In hac habitasse platea dictumst vestibulum rhoncus. Cursus euismod quis viverra nibh cras pulvinar mattis. Odio aenean sed adipiscing diam donec adipiscing tristique risus. Odio eu feugiat pretium nibh ipsum consequat. Amet tellus cras adipiscing enim. Ornare arcu odio ut sem nulla pharetra diam.</p>
<p>Facilisis gravida neque convallis a cras semper auctor. Ut enim blandit volutpat maecenas volutpat blandit aliquam. Et molestie ac feugiat sed lectus vestibulum mattis. Eget mauris pharetra et ultrices neque ornare aenean. Dolor morbi non arcu risus quis varius. Sed egestas egestas fringilla phasellus faucibus scelerisque eleifend. Erat nam at lectus urna. Lorem mollis aliquam ut porttitor leo a diam. Congue quisque egestas diam in. Maecenas pharetra convallis posuere morbi leo urna molestie at.</p>
<p>Purus viverra accumsan in nisl nisi scelerisque eu ultrices. Semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a. Netus et malesuada fames ac turpis egestas maecenas. Tortor id aliquet lectus proin. Dapibus ultrices in iaculis nunc sed augue lacus viverra vitae. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Scelerisque fermentum dui faucibus in. Nisi est sit amet facilisis magna etiam. Scelerisque eleifend donec pretium vulputate. Enim nunc faucibus a pellentesque sit amet porttitor eget. Velit euismod in pellentesque massa placerat duis ultricies. Vel quam elementum pulvinar etiam non quam lacus suspendisse faucibus. Et ultrices neque ornare aenean euismod elementum. Orci porta non pulvinar neque.</p>
<p>Orci porta non pulvinar neque laoreet suspendisse interdum consectetur libero. Praesent semper feugiat nibh sed pulvinar. Faucibus scelerisque eleifend donec pretium vulputate sapien nec. Vitae aliquet nec ullamcorper sit amet risus nullam eget. Commodo elit at imperdiet dui accumsan sit amet nulla facilisi. Aliquet risus feugiat in ante metus. Maecenas accumsan lacus vel facilisis volutpat est. Faucibus ornare suspendisse sed nisi lacus sed viverra. Sed vulputate odio ut enim. Consectetur adipiscing elit ut aliquam purus.</p>
<p>Nam libero justo laoreet sit amet cursus sit amet dictum. Adipiscing elit pellentesque habitant morbi tristique senectus et netus. In nulla posuere sollicitudin aliquam ultrices sagittis orci a. Mi tempus imperdiet nulla malesuada. Vestibulum lectus mauris ultrices eros in cursus turpis massa tincidunt. Lectus magna fringilla urna porttitor rhoncus dolor purus non enim. Egestas diam in arcu cursus euismod quis viverra nibh cras. Nisi quis eleifend quam adipiscing vitae proin. Est sit amet facilisis magna etiam tempor. Enim sed faucibus turpis in eu mi bibendum neque egestas.</p>
<p>Gravida dictum fusce ut placerat orci nulla pellentesque. Nulla malesuada pellentesque elit eget. Convallis tellus id interdum velit. Lorem sed risus ultricies tristique nulla aliquet enim tortor at. Molestie at elementum eu facilisis. Diam phasellus vestibulum lorem sed risus ultricies tristique. Nunc sed velit dignissim sodales. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi. Id aliquet risus feugiat in ante. Sapien pellentesque habitant morbi tristique senectus et netus et. Amet volutpat consequat mauris nunc congue nisi. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae. Purus gravida quis blandit turpis cursus in hac habitasse platea. Nulla aliquet porttitor lacus luctus accumsan tortor. Ut tristique et egestas quis ipsum suspendisse ultrices gravida.</p>
</div>
<div id="footer">
<h1>The footer element</h1>
</div>
</div>

Positioning a banner on the right side of a site

I don't know how to position an image with CSS on the right side of the website. I need absolute values from the center of the page and from the top. I can't use absolute value from left or right, because I want the banner to be always next to the right side of the main content (also when the browser is resized). The main content is in the center of the page. Since the image sizes can change, it should always be at the same distance from the page content.
How to do that?
Thanks,
Ivan
EDIT: This is a dummy sketch how I imagined it.
#content {
background-color: blue;
width: 50%;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
#banner {
background-color: red;
width: 150px;
position: absolute;
left: calc(75% + 15px);
}
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Facilisi cras fermentum odio eu feugiat pretium nibh ipsum. Vel elit scelerisque mauris pellentesque. Diam phasellus vestibulum
lorem sed risus ultricies tristique nulla. Facilisis magna etiam tempor orci. Convallis a cras semper auctor neque vitae tempus. Lorem sed risus ultricies tristique. Gravida cum sociis natoque penatibus. A cras semper auctor neque vitae tempus quam
pellentesque. Morbi tristique senectus et netus et. Platea dictumst quisque sagittis purus sit amet. Eget nunc scelerisque viverra mauris in aliquam sem fringilla. Mauris nunc congue nisi vitae suscipit tellus mauris. Sed nisi lacus sed viverra tellus.
Eget mi proin sed libero enim sed faucibus. Gravida quis blandit turpis cursus in. Purus non enim praesent elementum facilisis. Odio aenean sed adipiscing diam donec. Id eu nisl nunc mi ipsum. Tellus mauris a diam maecenas sed enim. Nibh praesent tristique
magna sit. Sapien nec sagittis aliquam malesuada bibendum. Commodo elit at imperdiet dui accumsan sit amet nulla. Augue neque gravida in fermentum et. Augue eget arcu dictum varius duis at. Diam vel quam elementum pulvinar. Justo nec ultrices dui sapien
eget. Nisi quis eleifend quam adipiscing vitae. Mauris sit amet massa vitae tortor condimentum. Velit euismod in pellentesque massa placerat duis ultricies. Nunc sed blandit libero volutpat sed cras ornare. Tempus egestas sed sed risus pretium quam
vulputate dignissim. Lacus sed viverra tellus in hac. Quam adipiscing vitae proin sagittis. Mi in nulla posuere sollicitudin aliquam. Ut etiam sit amet nisl purus in. Enim sed faucibus turpis in eu. In arcu cursus euismod quis. Amet consectetur adipiscing
elit duis tristique sollicitudin nibh sit amet. In iaculis nunc sed augue lacus. Egestas fringilla phasellus faucibus scelerisque eleifend. Feugiat scelerisque varius morbi enim nunc faucibus a pellentesque sit. Vitae sapien pellentesque habitant morbi
tristique senectus et netus et. Duis ultricies lacus sed turpis tincidunt id. Nunc pulvinar sapien et ligula ullamcorper. Commodo odio aenean sed adipiscing diam donec adipiscing tristique. Dignissim cras tincidunt lobortis feugiat vivamus at augue
eget arcu. Dignissim suspendisse in est ante. Sed cras ornare arcu dui vivamus. Id porta nibh venenatis cras. Dignissim enim sit amet venenatis urna cursus eget. Eu tincidunt tortor aliquam nulla facilisi. Netus et malesuada fames ac turpis egestas
sed tempus urna. Turpis in eu mi bibendum neque egestas congue quisque. Non tellus orci ac auctor augue mauris augue. Nisi scelerisque eu ultrices vitae auctor. Nunc sed blandit libero volutpat sed cras. Ornare lectus sit amet est placerat in egestas
erat imperdiet. Praesent elementum facilisis leo vel. Tortor dignissim convallis aenean et tortor at risus viverra adipiscing. Ut enim blandit volutpat maecenas volutpat blandit. Senectus et netus et malesuada fames.
</div>
<div id="banner">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Facilisi cras fermentum odio eu feugiat pretium nibh ipsum. Vel elit scelerisque mauris pellentesque. Diam phasellus vestibulum
lorem sed risus ultricies tristique nulla. Facilisis magna etiam tempor orci. Convallis a cras semper auctor neque vitae tempus. Lorem sed risus ultricies tristique. Gravida cum sociis natoque penatibus.
</div>
It may work better if you put it in full screen, It's not really optimized for stack overflow's small snippet size. If you need it to work for that I recommend some #media queries that remove the centering and move the banner over more.
You can center the content using flex box. code snippet and I attached code pen url in here. I used dummy content for the banner for reference. And remenber add height and width to 100% inorder to effect on the flexbox on wrapper div.And make sure to add min-width to content div and banner div to different screen sizes using media query.In here I didn't add media query since your content might be different than me.
code pen url click here
* {
box-sizing: border-box;
}
.wrapper {
width: 100%;
max-width: 600px;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
margin: auto;
}
#banner {
min-width: 150px;
align-self: flex-start
}
<div class="wrapper">
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Facilisi cras
fermentum odio eu feugiat pretium nibh ipsum. Vel elit scelerisque
mauris pellentesque. Diam phasellus vestibulum lorem sed risus ultricies
tristique nulla. Facilisis magna etiam tempor orci. Convallis a cras
semper auctor neque vitae tempus. Lorem sed risus ultricies tristique.
Gravida cum sociis natoque penatibus. A cras semper auctor neque vitae
tempus quam pellentesque. Morbi tristique senectus et netus et. Platea
dictumst quisque sagittis purus sit amet. Eget nunc scelerisque viverra
mauris in aliquam sem fringilla. Mauris nunc congue nisi vitae suscipit
tellus mauris. Sed nisi lacus sed viverra tellus. Eget mi proin sed
libero enim sed faucibus. Gravida quis blandit turpis cursus in. Purus
non enim praesent elementum facilisis. Odio aenean sed adipiscing diam
donec. Id eu nisl nunc mi ipsum. Tellus mauris a diam maecenas sed enim.
Nibh praesent tristique magna sit. Sapien nec sagittis aliquam malesuada
bibendum. Commodo elit at imperdiet dui accumsan sit amet nulla. Augue
neque gravida in fermentum et. Augue eget arcu dictum varius duis at.
Diam vel quam elementum pulvinar. Justo nec ultrices dui sapien eget.
Nisi quis eleifend quam adipiscing vitae. Mauris sit amet massa vitae
tortor condimentum. Velit euismod in pellentesque massa placerat duis
ultricies. Nunc sed blandit libero volutpat sed cras ornare. Tempus
egestas sed sed risus pretium quam vulputate dignissim. Lacus sed
viverra tellus in hac. Quam adipiscing vitae proin sagittis. Mi in nulla
posuere sollicitudin aliquam. Ut etiam sit amet nisl purus in. Enim sed
faucibus turpis in eu. In arcu cursus euismod quis. Amet consectetur
adipiscing elit duis tristique sollicitudin nibh sit amet. In iaculis
nunc sed augue lacus. Egestas fringilla phasellus faucibus scelerisque
eleifend. Feugiat scelerisque varius morbi enim nunc faucibus a
pellentesque sit. Vitae sapien pellentesque habitant morbi tristique
senectus et netus et. Duis ultricies lacus sed turpis tincidunt id. Nunc
pulvinar sapien et ligula ullamcorper. Commodo odio aenean sed
adipiscing diam donec adipiscing tristique. Dignissim cras tincidunt
lobortis feugiat vivamus at augue eget arcu. Dignissim suspendisse in
est ante. Sed cras ornare arcu dui vivamus. Id porta nibh venenatis
cras. Dignissim enim sit amet venenatis urna cursus eget. Eu tincidunt
tortor aliquam nulla facilisi. Netus et malesuada fames ac turpis
egestas sed tempus urna. Turpis in eu mi bibendum neque egestas congue
quisque. Non tellus orci ac auctor augue mauris augue. Nisi scelerisque
eu ultrices vitae auctor. Nunc sed blandit libero volutpat sed cras.
Ornare lectus sit amet est placerat in egestas erat imperdiet. Praesent
elementum facilisis leo vel. Tortor dignissim convallis aenean et tortor
at risus viverra adipiscing. Ut enim blandit volutpat maecenas volutpat
blandit. Senectus et netus et malesuada fames.
</div>
<div id="banner">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Facilisi cras
fermentum odio eu feugiat pretium nibh ipsum. Vel elit scelerisque
mauris pellentesque. Diam phasellus vestibulum lorem sed risus ultricies
tristique nulla. Facilisis magna etiam tempor orci. Convallis a cras
semper auctor neque vitae tempus. Lorem sed risus ultricies tristique.
Gravida cum sociis natoque penatibus.
</div>
</div>