How do I prevent a div from overflowing above the viewport? - html

I have centered a div like this:
<div class="container">
START
{ lorem }
END
</div>
.container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: min(65ch, 95vw);
}
This works:
But if I shrink the window, I'll have this:
Where I can scroll down and see the end, but not scroll up and see the start.
Same thing happens horizontally, I can scroll to right but not to left if there's not enough X space.
How do I make translate() move the div down a bit to prevent it from overflowing above the page?

Use flexbox on the body
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.container {
width: min(65vw, 95vw);
margin: auto;
}
<div class="container">
START Lorem, ipsum dolor sit amet consectetur adipisicing elit. Mollitia, accusantium pariatur? Corrupti molestias quas pariatur dolores aperiam! Quam voluptatibus laudantium id et aliquam possimus! Inventore sint, quo quia, autem tenetur unde optio,
totam maiores provident repellendus exercitationem magnam? Quam ad fugit tempore, amet corrupti molestias dolorem voluptas vitae temporibus modi impedit animi neque, sit commodi! Temporibus quo dolores autem nemo architecto culpa laborum, perferendis
a incidunt eius ab molestiae provident ea deleniti. Architecto dignissimos dolorum, autem consequatur alias voluptatem, fugiat porro quo odio, odit consectetur voluptate unde ullam ex magni itaque quam debitis. Asperiores deserunt quos autem animi,
magnam repellendus sequi repudiandae nobis nostrum id aspernatur delectus ut modi saepe voluptates accusantium doloremque ab inventore harum totam expedita, praesentium enim. Adipisci odio minus atque tempore laborum totam quam ipsam maiores a ullam
veniam at, non necessitatibus explicabo itaque quae consequuntur quaerat nostrum laboriosam blanditiis eveniet velit voluptatum. Libero neque sunt voluptatem laboriosam. Earum suscipit odio, rem explicabo quo beatae voluptates veritatis recusandae nam
obcaecati voluptatibus quia deleniti totam accusantium! Maxime earum necessitatibus iste similique perspiciatis, magnam accusamus ducimus animi quos enim eius laboriosam id tenetur molestiae nemo ipsam. Deleniti, maiores. Aliquam, architecto magnam
repudiandae, corrupti alias accusantium, autem dolorum atque officia saepe exercitationem aperiam ullam blanditiis quia? Aspernatur minus voluptas incidunt rerum ratione beatae suscipit earum quo natus nulla corporis praesentium odio officia facere
magnam nesciunt reiciendis veritatis ea fuga, perferendis eaque necessitatibus amet. Tenetur reprehenderit optio laudantium, consequatur omnis ea doloribus eos inventore, deserunt quam, a reiciendis quasi eligendi officia ipsam veniam magnam sint eum
odit nemo iste architecto alias voluptatem. Quae, minus temporibus voluptates tempore numquam dolore id. Incidunt aliquam, voluptatem voluptatibus minima dolorum earum eligendi tenetur rerum debitis id fugiat necessitatibus nobis, repudiandae quidem
sed! Alias illo possimus et. Voluptas, voluptatibus odit? Consequatur, accusantium. Officiis unde reiciendis libero! Doloremque officia animi qui distinctio corrupti molestias mollitia quasi eius exercitationem iure laboriosam aspernatur alias corporis
tempora natus odio quidem numquam voluptates autem dignissimos iste non, eum a. Vero modi aliquid quam voluptate nostrum accusantium harum eius! Reiciendis qui exercitationem autem aliquid ullam nisi labore consequuntur suscipit iusto totam pariatur
ab dolores excepturi cum placeat, iste sunt obcaecati voluptate, atque voluptatem corporis quis! Nihil voluptas labore, molestias aliquam velit nobis atque quasi obcaecati deserunt minima blanditiis similique tempore, dignissimos sint odio corrupti
voluptatem rem repudiandae dolorum explicabo, porro cum pariatur dolorem? Dolor suscipit corrupti consequatur sit non. Dolore recusandae quia ullam quibusdam officiis molestias maxime repellendus, quidem unde excepturi odit corporis ea natus, commodi
reprehenderit quas eius officia. Provident, numquam. Consequuntur eligendi dolores expedita dolorum iure amet voluptate mollitia vero beatae ipsum voluptatum nostrum, ipsa tenetur molestias officiis sunt minima, illum cupiditate. Repellendus, voluptates
ipsa rem nam odit dolore odio qui sunt, praesentium molestiae aliquam exercitationem natus quas quisquam dicta modi fuga accusantium amet animi dolorum hic voluptatum molestias ad? Id amet nesciunt a! Minima consequuntur sapiente, vitae, quas dolorum
nam voluptates doloremque maiores cupiditate necessitatibus, soluta quos? Voluptas est exercitationem magni inventore impedit labore quos officiis adipisci ipsa! END
</div>

Solution - 1
Just add height to your container, and it will work.
.container {
-
-
-
-
-
height: 100%;
}
Solution - 2 (flex)
Adding following CSS would also solve the issue:
body {
display: flex;
justify-content: center;
}
General Solution / Debugging Tricks for CSS
During the use of position absolute / translate property, you need to make sure that you define the height property.
You can always check the box model for your container to debug the issue or at least get some idea of what's going on or what is the problem source, it helps a lot. Most of the small / medium level problems related to CSS can be solved just by examining the box model.
Always, before start writing your CSS, add following:
* {
box-sizing: border-box;
}
html, body {
margin: 0;
padding: 0;
}
this helps a lot in bigger projects unless you have something else in mind or it also depends on other use-cases, but these are generally preferred by everyone.
For centering your containers, you can also use grid / flex properties which are some of the best ways of alignment in CSS as well.

Related

My two divs are overlapping each other instead of being disposed like shown below

I don't know why but the 2 divs of my html page are overlapping each other instead of being displayed side by side. Also, the blue div doesn't takes 100% of the height like it should. NOTE: the blue div only has 1 element for the moment (an Imput)
Here is my CSS code:
.bluediv {
height: 100%;
width: 16.3%;
position: fixed;
z-index: 1;
top: 0;
left: 0;
box-shadow: 0px -10px 50px black;
float: left;
}
.reddiv{
height: 100%;
}
Thanks, CyberFlame
You can use display flex by default direction row like this:
html,
body {
padding: 0;
margin: 0;
}
.sect-div {
width: 100%;
display: flex;
height: 400px;
}
.sect-div .side {
width: 20%;
background-color: #007fff;
}
.sect-div .main {
width: 80%;
background-color: #ff0000;
}
<section class="sect-div">
<div class="side">width = 20%</div>
<div class="main">width = 80 %</div>
</section>
Fixed aside:
html,
body {
padding: 0;
margin: 0;
}
.sect-div {
width: 100%;
height: 100vh;
display: flex;
overflow: hidden;
}
.sect-div .aside {
width: 20%;
padding: 5px;
box-sizing: border-box;
background-color: #007fff;
}
.sect-div .main {
width: 80%;
padding: 20px;
box-sizing: border-box;
background-color: #ff0000;
overflow-y: auto;
}
<section class="sect-div">
<aside class="aside">
<h2>width = 20%</h2>
</aside>
<main class="main">
<h2>width = 80 %</h2>
<p>
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Provident, nihil nobis. Assumenda ipsam ad suscipit qui dicta vero porro rem sequi? Non dolore magni sed itaque minima esse repellendus vero. Recusandae dignissimos, commodi natus assumenda architecto
aut libero corporis, magni ut quo, soluta voluptate. Similique, perferendis. Nam, recusandae debitis totam nihil reiciendis quod, atque distinctio adipisci quo esse necessitatibus dolorum! Incidunt corporis ex placeat, est doloribus magni repellendus
deleniti nam recusandae eveniet dolorem. Dolores aliquid assumenda perferendis odit esse dignissimos, corrupti mollitia ea doloremque libero molestias. Ab nisi voluptas provident. Voluptatum sit aut sequi ab sunt blanditiis asperiores dicta quos
totam accusamus voluptatem deserunt veritatis possimus suscipit earum corrupti esse ducimus illo, consequuntur omnis rem. Laudantium debitis eveniet facilis recusandae. Minus, exercitationem. Minus distinctio ipsam, vero ab autem consectetur iusto
soluta, eligendi similique consequatur natus, laborum asperiores amet repudiandae expedita temporibus fugit aliquid sint quo quod libero blanditiis adipisci. Ea. Earum minus, doloribus recusandae tempora fugiat, sunt voluptates nesciunt a magnam
placeat impedit harum dicta aspernatur doloremque debitis neque exercitationem cumque voluptate quod possimus? Dicta vel fugit officiis voluptates consequuntur. Nisi praesentium, at, quis beatae voluptate similique doloribus iusto tempore saepe
officiis tempora molestiae necessitatibus reiciendis asperiores repellat unde dicta vel aliquid enim dolorem. Nulla excepturi sapiente debitis aliquid assumenda! Vitae nulla quos laborum provident harum maiores ex dolorem, distinctio corrupti est
amet ipsa rem possimus blanditiis quasi architecto deserunt a debitis velit accusantium voluptate beatae. Commodi cum atque iste? Saepe assumenda vitae repellat optio minus ad nulla illo ducimus ullam et sit atque aliquid dignissimos aliquam eius
quae earum, eum tenetur ratione ex eligendi cumque vel similique. Modi, atque! Sit quam ut et a ducimus qui eveniet voluptas corrupti nam totam libero ipsum cum repellat magnam dolores, incidunt saepe nostrum! Nemo ipsa aspernatur dolorum nulla
possimus voluptas voluptates optio? Adipisci saepe autem vitae totam sunt ab, voluptatibus omnis, voluptas incidunt reprehenderit illo praesentium. Magnam maxime dignissimos totam tempora quo id velit eligendi! Quas tenetur accusantium culpa doloremque
ipsa assumenda? Ab perspiciatis sequi consequuntur ratione voluptates illum architecto incidunt, dolorem perferendis ad vel suscipit magnam aspernatur distinctio provident vero velit error autem aliquid. Dolorum nesciunt saepe repellat sed, commodi
dolorem! Quis minima, impedit autem dolore deserunt alias sunt animi porro quae ratione dignissimos, ipsum fugit quaerat tempore repellat adipisci vel deleniti cupiditate commodi iste dolorem accusamus a! Tempore, quia ut. Repellendus, debitis ipsam
quasi sed fuga consequatur. Quo, expedita? Voluptatibus laborum aut nisi illum impedit culpa doloribus ullam autem, quae soluta quidem! Reprehenderit dolorem impedit quis, pariatur adipisci facere nemo. Soluta numquam placeat saepe, sit veniam cupiditate
praesentium eos iure omnis odio consectetur vel corrupti quis, ipsa provident perspiciatis. Cumque, vitae! Unde alias atque voluptatum debitis deserunt possimus veniam cumque. Vero aut tempore unde eum harum, aliquam beatae praesentium nulla atque
vel ipsam natus? Recusandae ipsa repudiandae harum inventore distinctio, quod neque perspiciatis, ducimus animi doloremque, illo enim rerum aut. Voluptas molestiae possimus itaque, rem dignissimos non mollitia ipsum quo pariatur cum! Atque tempora,
assumenda soluta sed doloribus debitis iusto ratione delectus minus necessitatibus velit corporis officiis maxime porro minima? Harum, voluptatum sapiente nulla laborum at nobis temporibus iste vitae distinctio ipsum saepe beatae amet minima id,
consequatur delectus iure error et ab quis fugiat! Libero maiores maxime beatae! Tempore. Quasi aliquid voluptatibus odio dolores molestias consequatur repudiandae ipsum corporis neque officiis, ad fuga dicta repellat, earum sed dolore et voluptatum
reiciendis saepe, obcaecati voluptates maxime cupiditate quod sint? Nesciunt. Maiores consequuntur obcaecati ratione iure suscipit pariatur laudantium eius natus voluptate sint nostrum impedit odio deserunt placeat, quod ducimus, architecto nesciunt
facilis? Sit dicta tempore tenetur culpa, ullam quis sed? Accusamus sit recusandae quidem aperiam sapiente. Ratione autem odit quo odio officiis optio rem magni magnam illum, tempora dolores similique dignissimos necessitatibus non alias labore,
repellat eos itaque dolorum voluptates! Voluptatibus, quasi exercitationem quae recusandae quidem porro praesentium optio magnam quas sed, corrupti necessitatibus ex ratione alias eius odio possimus cum sapiente, dolore eos officia perferendis accusantium
qui vel. Quo? Perferendis sint labore itaque, asperiores suscipit omnis, dolorum atque laudantium aspernatur odio laboriosam sunt at quisquam sit aut veniam voluptas inventore ipsam expedita blanditiis laborum explicabo nesciunt, architecto modi.
Labore. Repellat dolor officia quos maxime iusto sed! Magni quod quibusdam deleniti animi harum? Enim soluta dolorem magni a ipsam aspernatur cumque molestiae, tempore tenetur culpa veniam eos laudantium animi vel! Debitis cumque non corrupti dolorem,
architecto nesciunt autem, ea perspiciatis aliquid, laborum aspernatur a asperiores maiores voluptatem? Molestiae esse aspernatur repellendus, odio minima, doloremque, maiores dolores amet quas iusto reiciendis. Ea, incidunt! Aliquam incidunt voluptates,
voluptate laudantium vel explicabo necessitatibus fugit laboriosam excepturi veniam enim nesciunt dolore. Odit, quas culpa provident a explicabo, consequatur officiis voluptatibus temporibus placeat, eveniet sapiente. Quia amet et aliquam ipsa,
nulla, repellat, facilis rem tempora harum eligendi quos. Deleniti fugiat molestiae sed deserunt, consequuntur commodi excepturi aliquam quam, nihil culpa quasi soluta quos eum ratione? Illum temporibus quia minus, recusandae, culpa autem sequi
porro officia magni eligendi voluptates facilis consequatur dolore? Officia ratione cum est neque inventore ut accusamus voluptas dolores, distinctio, optio quibusdam magni. Odio quidem expedita quasi, possimus aperiam tempore blanditiis veritatis
soluta ex iste voluptas maiores! Dignissimos laudantium earum minus alias dolorem sed est a ullam molestias? Consequuntur sunt unde ipsam fugit? Sed, praesentium excepturi repellendus harum voluptatum, obcaecati magni ex accusamus est natus aliquid
molestiae. Mollitia, magnam. Vitae fuga optio quia sit ullam fugit cupiditate minus maxime quas? Nemo, quidem asperiores? Repudiandae aut explicabo illo labore, consectetur ab nam minima, incidunt dolorum reprehenderit, eaque soluta quaerat laborum
sed autem! Dolorem voluptate possimus iure, quae accusantium voluptatibus molestiae voluptatem cum optio tempore! Sunt laborum libero, est quaerat ut itaque similique alias explicabo ipsam mollitia fuga ea nisi voluptates non totam aspernatur ipsum
molestiae quo saepe distinctio et sint eveniet accusantium neque! Perferendis. Tenetur placeat impedit tempora incidunt eligendi qui fuga laborum consequuntur amet. Quibusdam voluptate officiis iure! Accusamus voluptatum, quam, hic officia veritatis
praesentium necessitatibus beatae maiores fugiat nemo soluta, et voluptates. Nobis adipisci tenetur a facilis, architecto, omnis, odit illum fuga error laboriosam similique assumenda sapiente. Iure, consequatur. Illum facilis debitis officiis doloribus?
Eaque modi ducimus vitae. Quod sint rerum blanditiis. Cumque dolores voluptatibus veritatis placeat dolor eaque molestias asperiores quia. Eos, illum. Perspiciatis repellat minus nesciunt omnis, praesentium quod ad magni voluptas maxime facilis
aut asperiores blanditiis nulla deserunt saepe? Commodi nostrum eveniet doloremque nobis ratione corporis ex praesentium omnis quas sint voluptatem itaque totam in explicabo unde, harum, vero, enim qui? Maxime deleniti tempore temporibus! Illo odio
libero quidem! Veritatis quos reiciendis odio magnam? Sequi, totam ea laborum at rerum magnam hic, iure voluptatibus porro distinctio ipsam amet cum illum qui consectetur repellendus fugiat, incidunt pariatur optio voluptate possimus. Fugiat temporibus
ad at sequi molestias vitae ipsum adipisci blanditiis quia veniam sit rerum quae, hic earum veritatis quas illum mollitia, esse harum deleniti dignissimos repellendus nihil? Quas, eligendi dolore! Atque, rerum molestias fuga dignissimos fugit voluptatum
dolor in sit soluta numquam natus modi porro obcaecati. Omnis dolorum neque quam, maiores adipisci natus perspiciatis quod dolore asperiores tempore. Molestiae, obcaecati. In praesentium odio perspiciatis aliquid est temporibus corrupti porro, molestiae
voluptatem qui assumenda quod beatae nulla nisi placeat deserunt reiciendis voluptatibus unde fuga enim accusamus numquam tempora. Beatae, eum nobis! Eos fuga inventore, ipsa quibusdam delectus, nihil voluptatum ipsam recusandae laborum soluta numquam
non voluptate vero natus qui ex sit? Magnam a quae voluptatem rem exercitationem veritatis consequuntur provident amet? Illum atque quisquam sapiente recusandae laboriosam laborum praesentium ab magnam veniam provident totam, fugiat nulla reiciendis
est ratione dolor, nostrum laudantium tempora impedit incidunt eaque? Expedita magnam sapiente veniam deleniti? Ipsa qui nemo corporis, quaerat quibusdam animi deleniti, aperiam ad expedita dicta obcaecati dolorum dolore adipisci ipsum eum consectetur
culpa ea praesentium sunt sapiente ipsam explicabo. Harum in ex ea? Nihil reprehenderit repudiandae nesciunt quaerat debitis ipsa rerum, tempora quam neque, beatae harum earum esse? Quod culpa consequatur eum a! Aut, aliquam temporibus deleniti
vel sapiente molestiae. Aperiam, eum dolor. Id accusantium error ipsum a aut consequatur esse quaerat quibusdam molestiae magnam, impedit suscipit doloremque, alias rem asperiores quas nam eligendi qui facilis porro eius! Recusandae sed enim nisi
et? Iure tenetur soluta ut quasi veniam explicabo quod odio commodi ullam, praesentium velit dolorum, repudiandae ex saepe fuga sit laboriosam provident nostrum facilis debitis a reiciendis unde. Libero, dolores vitae. Ducimus repudiandae officia
nihil nam consectetur, voluptatem velit ipsa maiores. Ea aspernatur corrupti soluta dolore quod enim perferendis aperiam ratione iste aut sapiente, ad impedit harum sed nulla in inventore. Error, at dolore. Nesciunt iure vel quis et asperiores placeat
in consectetur, ducimus, accusantium natus repellendus eveniet nemo aspernatur animi fugiat, sunt nisi error expedita provident! Accusantium reprehenderit exercitationem quis. Beatae impedit eaque est error non facere obcaecati rerum rem aperiam
magnam ullam illum, consequuntur cupiditate enim esse animi suscipit, culpa nulla aspernatur distinctio recusandae voluptate! Inventore mollitia reprehenderit praesentium! Minima incidunt hic atque non corporis unde distinctio, repellendus ut numquam
dignissimos possimus iure, deserunt similique est dolor magnam fugiat assumenda laboriosam aliquam. Tempora sint illo, quae iure aliquam nobis. Nemo quos, ipsa dicta quae cumque quidem nostrum laboriosam! Dolores, non officia? Omnis voluptatem sint,
magni eveniet aliquam asperiores illo tempora assumenda fugiat iure, laborum, magnam expedita mollitia molestias quo? Asperiores vero eos voluptatibus quasi atque eum beatae, qui nam sit, rem maiores quidem nostrum explicabo iure sequi natus sed,
laudantium eveniet ad illum? Nam asperiores consequuntur eum quasi eligendi. Sunt aliquam aperiam accusantium praesentium facilis laborum cum voluptate qui magnam. Expedita ducimus maiores harum iure consectetur consequuntur sed, fugit officia.
Est soluta nostrum voluptate voluptates perferendis dolore eos? Tempore! Velit voluptate soluta possimus, voluptatem obcaecati nesciunt numquam laborum a aperiam suscipit necessitatibus veniam. Alias rerum veritatis quibusdam. A culpa est accusantium
odio vero voluptate maxime veniam tempore. Animi, neque! Animi iusto a reprehenderit dolores inventore. Ipsum quo omnis voluptas. Perferendis, officia obcaecati ut consequuntur voluptas debitis dolores amet quasi accusantium possimus explicabo vitae
harum veniam enim consequatur corrupti a? Omnis.
</p>
</main>
</section>
Okay. I think this should help.
We'll call the div containing both the red and blue divs "box", we'll give it a class of box, and the red and blue divs will have a class of their respective colors.
the html will go like this:
<div class="box"> <div class="blue"></div> <div class="red"></div> </div>
then your css:
.box {
display: flex;
width: 600px;
height 400px;
}
.blue{
width :20%;
height: 100%;
background : blue;
}
.red{
width :80%;
height: 100%;
background : red;
}
If you want the blue div to be fixed then you should:
1- divide the width between them evenly considering every single pixel you add like shadow, margin, or padding for them.
2- float the red one to the right.
3- To make sure they always fill viewport height, use vh instead of %
body {
padding: 0;
margin: 0;
}
.left {
color: white;
height: 100vh;
width: 16.3%;
background: blue;
position: fixed;
top: 0;
left: 0;
}
.right {
color: white;
height: 200vh;
width: 83.7%;
background: red;
float: right;
}
<section class="container">
<div class="left">width = 16.3%</div>
<div class="right">width = 83.7%</div>
</section>

how to make sticky position relative to the screen and not to the parent

I want to have a position:sticky for an element but I don't want it to be relative to the parent. I want it to be relative to the screen. i.e. something like sticky-absolute kind of. the current behavior is that I have an element, which I can set:
position:absolute;
bottom:0;
and as expected no matter where in the html I set this element it will be at the bottom of the screen. However when I start to scrolling, the element is moving up as expected from position:absolute. So I want it to stick there.
However, if I will use
position:sticky;
bottom:0;
I will have to set the element at the bottom of my html for it to work and even then its pushing everything up when you scroll to the very bottom of the screen. i.e. if position:absolute overflow the content as I need, sticky wont do it, it's actually act as block when you scroll to the end of the screen.
Example of sticky block when it's not at the end of screen:
Then when you scroll you can see the issues I try to avoid:
The code can be found in this codpen
and it was took from here
As you can see in the red mark, the element is taking space and act as block, and when you keep scrolling is still sticked to the parent and not to the screen bottom. How can I make it work as described?
to be able to put the element anywhere in the html
it keep sticked to the bottom of the screen and not the parent
not to act as block and to actually cover the content and overflow it
You are defently looking for position:fixed as it works with viewport. It will always be visible at the bottom and it will be relative to the page it self. Look at the example:
*{
box-sizing: border-box
}
body{
height: 3000px;
padding: 3rem;
}
section{
background: dodgerblue;
color: white;
line-height: 1.5;
padding: 30px;
}
div{
display: block;
width: 100px;
height: 100px;
background: tomato;
position: fixed;
bottom: 0;
}
<section>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci repellat cum totam! Enim, sunt. Numquam voluptate, velit quisquam ipsa molestias laudantium odit reiciendis nisi corporis voluptatibus, voluptatum sunt natus, accusantium magnam consequatur fugit officiis minima voluptatem consequuntur nam, earum necessitatibus! Cupiditate ullam repellendus, eius iure voluptas at commodi consectetur, quia, adipisci possimus, ex mollitia. Labore harum error consectetur officiis aut optio, temporibus iste nobis ducimus cumque laudantium rem pariatur. Ut repudiandae id, consequuntur quasi quis pariatur autem corporis perferendis facilis eius similique voluptatibus iusto deleniti odio officia numquam tenetur excepturi, aspernatur sunt minima aut fugiat ipsam. Ea nesciunt, amet fugit facere similique dolor nam tempora perferendis aut fugiat non, ex pariatur excepturi odio aspernatur libero saepe ducimus rem magni cumque. Laboriosam nisi fuga accusantium quos qui? Maiores ratione aliquam eos odio eius molestiae nesciunt exercitationem dolor perspiciatis quam. Necessitatibus rem nihil ad culpa, tenetur iusto consectetur rerum, delectus neque? Error, quas, eaque! Quibusdam voluptas expedita possimus consequatur accusantium distinctio, esse quisquam, ipsa blanditiis, officia perferendis et? Iste, nam optio vero earum tenetur voluptatibus modi a, odit aliquid eos corporis nulla saepe vel neque voluptate ratione, facilis quo sed nisi voluptates nostrum dolor. Non mollitia dignissimos laudantium quos libero nisi, nobis harum, asperiores soluta reprehenderit doloremque ipsa id unde voluptates beatae deserunt. Minima repellendus ipsam molestias veritatis pariatur nobis nihil, alias quasi, esse, aspernatur saepe beatae, hic consequatur. Sit sequi, libero quisquam quibusdam fuga tempore ab molestiae praesentium, necessitatibus, vero odio ullam qui non totam voluptas reprehenderit ad neque voluptate. Nam atque impedit ducimus, dolore reiciendis delectus inventore beatae cumque. Magni, id quos officiis soluta consequatur nam quis, modi fugit adipisci vel autem dolorum iusto cumque, libero reprehenderit amet doloremque voluptatem sunt sapiente reiciendis omnis, similique nulla enim. Autem repellendus, illo eveniet recusandae quae quibusdam itaque, delectus, consequatur provident vitae vero magnam repudiandae fugit, placeat sapiente! Omnis, possimus natus obcaecati sunt harum impedit, veniam quae numquam cum eos. Suscipit nihil totam itaque odio assumenda nemo? Eos iusto voluptas, consectetur sit totam velit fuga ea impedit laboriosam, dignissimos neque ipsum! Nostrum, recusandae. Autem sit aperiam culpa neque quaerat, voluptatibus repellendus. Magnam voluptatem illo quidem sapiente, nemo neque temporibus unde harum mollitia sit dignissimos eligendi accusantium, deserunt numquam, recusandae aperiam iure vero tenetur ea suscipit. Necessitatibus vel, omnis praesentium pariatur officia! Odio maxime dolor vitae ab deleniti et accusantium, iure molestiae eaque soluta sequi, autem, quae ex labore hic dicta temporibus quibusdam animi modi qui necessitatibus nulla. Perspiciatis molestiae architecto culpa quaerat amet fuga, fugiat laboriosam tempore at adipisci, tempora laborum ducimus alias corporis beatae dolor repellendus reiciendis aut cum. Quos enim quae dolores voluptates deleniti est eum beatae impedit unde quidem cumque, labore, quod a asperiores tempora vel blanditiis? Facere corporis mollitia vitae! Exercitationem esse perferendis, et aliquid iste saepe, quos, qui dolore est facere porro. Sapiente nesciunt, ad nostrum hic optio omnis libero autem minus eius, perferendis numquam adipisci corporis nisi ipsa assumenda possimus repudiandae distinctio vel accusamus quam animi esse eos natus pariatur. Molestiae in temporibus ipsum, eveniet itaque minus facilis magnam corporis amet, aspernatur ducimus iste quis numquam laudantium saepe optio nam nisi dolore necessitatibus perferendis hic non ea labore. Impedit rerum laudantium amet aperiam. Debitis tenetur veniam molestiae ab labore maxime incidunt iste commodi recusandae, adipisci obcaecati, molestias placeat aperiam atque, dolorum facere quae nesciunt. Facere aspernatur dolore consequatur tempora veritatis qui et eos quo voluptatum ipsum nemo rerum debitis nostrum, atque ratione aliquam nulla cumque aperiam officiis? Corporis a sunt, quis vel, quae molestias vitae recusandae magni! Nostrum animi totam dolore nemo voluptatem? Nihil consequuntur corrupti quaerat quis dolorum! Culpa, at quibusdam, saepe quas accusamus sequi tempore molestiae perferendis error fugiat, in totam laboriosam. Mollitia necessitatibus eius nisi, blanditiis rem commodi doloremque dicta, hic cumque quod possimus, obcaecati nesciunt deserunt. Vel id quas aliquam, fugiat repellendus perferendis voluptate consectetur deleniti cumque harum odit dolores ducimus facere? Mollitia qui dolore ut quod facere, recusandae repellendus debitis minus aliquid delectus inventore numquam ipsam fugit doloribus, voluptatum, earum eveniet ipsa, impedit fuga! Illo ipsa dolor id enim facere ipsam similique consectetur porro sequi ea perspiciatis soluta provident, ex amet nulla quos sit. Rerum nam, odit dignissimos! Delectus, corporis perspiciatis magni tempore praesentium dolorem magnam architecto earum animi, vero, obcaecati alias distinctio quae eligendi eos doloremque assumenda. Neque temporibus doloremque, natus deserunt ipsam repellendus. Dolorum consequuntur culpa esse modi adipisci, rem natus at fuga id, architecto delectus! Culpa quaerat nulla magnam sint repudiandae, impedit quisquam iure illum, natus at nesciunt fuga obcaecati excepturi fugiat ea sed repellendus repellat aliquid vel, sunt dolores quae. Omnis nulla soluta natus consequuntur tempore, in esse autem reprehenderit cum totam fugit voluptate libero hic asperiores perspiciatis a, odio voluptatibus non alias inventore delectus impedit praesentium doloribus. Veritatis qui adipisci quisquam voluptates, similique consequatur repudiandae dignissimos accusantium rerum beatae fuga inventore. Sequi soluta maxime facere laudantium sint quae ab, dolores provident doloremque maiores quo eaque commodi veritatis, eligendi illo ipsum. Suscipit, veniam, cumque quidem, distinctio debitis magnam nesciunt dolore reiciendis minus accusantium quod ullam eaque magni. Adipisci debitis a, repellat suscipit doloribus officiis asperiores vero veritatis aliquam praesentium nihil corrupti, ipsam. Quae esse hic fugit, in harum illum laboriosam odio mollitia at dolor nam quisquam aperiam quidem error vero voluptatibus, quos dolorem ratione odit illo libero unde sunt distinctio rerum! Repellat omnis dolorum fuga dolor, molestias earum. Iure, repellendus quae nostrum temporibus odio ad. Nihil quidem enim unde nesciunt, velit esse eveniet nisi architecto ad perferendis obcaecati eum iste ipsum eligendi ut necessitatibus veritatis officiis minus non laborum. Tempore explicabo nostrum nihil. Sed eius, iure nisi saepe. Neque eaque, consectetur nostrum aliquam amet praesentium, dicta excepturi ducimus voluptatibus illum consequatur, rerum veniam omnis eos enim. At asperiores, soluta sapiente amet. Ipsum in sint iusto, cumque possimus iure quia fugiat. Facere ratione consequuntur deleniti nisi, nostrum esse. Et amet deserunt unde aliquid, magni, incidunt fugiat illo neque consequatur eum cum, alias repellendus odit voluptate. Hic ducimus, quidem, excepturi delectus rerum placeat illo exercitationem nesciunt natus voluptatum modi sequi consectetur praesentium quae eaque mollitia! Architecto excepturi atque, molestias natus.
</p>
<div></div>
</section>

Centered div content causes div to go off screen upwards?

I have a container positioned in the center of the screen with some info inside it. It's fine when there's not much info in there, but when I put more content inside of it, the content pushes up off the top of the screen.
I've tried looking around online but I'm having trouble articulating the problem so I just keep seeing guides on how to center things.
.outer {
position: relative;
}
.inner {
background: #000;
width: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 50px;
color: #ffffff;
}
<div class="out">
<div class="inner">
<h1>HELLO</h1>
lorem1000
</div>
</div>
Example of what I mean:
https://jsfiddle.net/46s87xt0/
Is there anyway of easily resolving this issue?
You can achieve this with flex.
justify-content: center; can be used to align the element in the horizontal centre.
align-items: center; can be used to align the item in the vertical centre, if there is room. Otherwise the element will behave similar to a static position element.
An example with short content:
.outter {
position: relative;
display: flex;
min-height: 100vh;
justify-content: center; /* Align horizontal center */
align-items: center; /* Align vertical center */
}
.inner {
background: #000;
width: 50%;
padding: 50px;
color: #ffffff;
}
<div class="outter">
<div class="inner">
</div>
</div>
With long content:
.outter{
position: relative;
display: flex;
min-height: 100vh;
justify-content: center; /* Align horizontal center */
align-items: center; /* Align vertical center */
}
.inner{
background: #000;
width: 50%;
padding: 50px;
color: #ffffff;
}
<div class="outter">
<div class="inner">
<h1>HELLO</h1>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni assumenda doloribus sit nulla? A velit cum animi, error sunt sapiente totam doloribus voluptatum quaerat consequuntur aspernatur in nihil sequi eligendi!
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Perspiciatis tenetur laboriosam quibusdam, accusantium optio in quidem ex illum labore nulla laborum, ratione impedit a placeat reprehenderit culpa, ipsum quisquam excepturi? Voluptatum dolorem ullam sint molestiae odit sit excepturi nam nostrum suscipit libero, placeat voluptatem unde, facilis ipsum sunt ratione error officiis dolorum ducimus ab enim! Esse illum consequatur in quisquam provident reprehenderit voluptates eligendi vitae earum? Obcaecati, tenetur. Incidunt soluta qui dolore voluptate eos non voluptatum doloremque rem accusantium vel excepturi dolorum ipsum sequi, eligendi quis doloribus, debitis maiores error hic reprehenderit? Est molestias quod iusto, cumque, tempora modi ex necessitatibus corrupti provident cum architecto rem quo corporis porro! Quo laudantium accusamus blanditiis aspernatur non, asperiores id optio ducimus fugit aliquid itaque dignissimos ratione quisquam ipsam nihil perferendis similique praesentium corporis officia ipsum amet quidem dolorum quas sequi. Laborum sequi hic animi alias nemo, iusto maxime nesciunt sunt vero soluta voluptatem veritatis obcaecati quos exercitationem optio voluptatum sed, autem deserunt pariatur ducimus magni qui possimus aspernatur tenetur! Quae, similique placeat nisi nam commodi facere neque porro, illum est nulla facilis eius odit rerum nobis quaerat debitis iusto aperiam magni totam ratione mollitia ullam. Expedita qui, dolore aspernatur quidem omnis recusandae natus quia dolores earum culpa similique sapiente perspiciatis ex, alias fugiat numquam corrupti assumenda harum, mollitia est deserunt doloremque? Maiores veniam in, magni ullam odit est iusto corrupti praesentium quam aperiam autem adipisci saepe nihil. Repellendus reiciendis sint adipisci quam tempore sunt maxime tenetur mollitia pariatur veniam quo, beatae maiores velit magni, voluptatem sit odio. Reprehenderit necessitatibus voluptates vero sint eaque magni odio ex ipsam alias nihil, dolores, rerum neque repellat laborum omnis nulla ipsum molestiae exercitationem maiores aut fuga eum nobis optio. Odit nihil tenetur minima ex optio officiis in, esse nostrum ipsam? Aliquam dignissimos tempora dolorem beatae id eos earum autem rerum veniam deleniti magnam tempore laborum modi vero totam rem molestias laboriosam, perferendis a necessitatibus ut. Enim itaque molestiae tenetur mollitia nulla esse minus iusto cum! Molestiae rerum, consequuntur modi necessitatibus quidem quisquam hic fugiat reiciendis provident ad perspiciatis error vero dolor dolores. Ullam qui eveniet rerum suscipit alias voluptas illo, corporis voluptatibus mollitia nemo aut, beatae neque. Reprehenderit tempora perferendis nam assumenda debitis, velit, iusto quod culpa natus aut asperiores iure, voluptatum similique tempore veniam architecto? Harum facere id vero modi placeat nobis doloremque quae alias a! Quo accusamus pariatur, quos hic adipisci quis minima? Dolor illo doloremque velit possimus. Culpa alias itaque dolore iure architecto, corrupti aliquid at illum illo corporis repudiandae. Eveniet cupiditate harum facere, numquam pariatur sed neque. Modi est eaque placeat deleniti rem tempore doloremque at. Ad qui consequuntur quidem voluptatem, aut doloribus sed a exercitationem in ut, labore consequatur est culpa eligendi fugit dolores temporibus saepe, placeat minus corrupti similique! At excepturi itaque ipsa dignissimos nisi quod iusto vel temporibus soluta provident voluptates illo cupiditate, praesentium aperiam hic consequuntur eaque corrupti odio magnam quia? Officia fuga consequatur voluptates eum facere, debitis nostrum voluptate quaerat, ratione esse quos maxime veritatis natus tempora rem, minima tenetur praesentium cum corporis inventore harum delectus dolores. Vel iusto excepturi minus voluptatum ea illum itaque nulla nemo dolorum quo. Explicabo vel minus incidunt tempora molestias consequuntur, in eveniet eum expedita iure sequi quas numquam quisquam temporibus ipsa nesciunt animi obcaecati veritatis! Quis recusandae quidem numquam veritatis voluptates eum sunt temporibus nemo officia molestias dolorem sapiente distinctio, minus nobis. Obcaecati perspiciatis nemo ipsam magni aspernatur, nam rerum optio recusandae ullam? Totam iure, reprehenderit, alias architecto incidunt cupiditate ea velit magnam explicabo minima veritatis ducimus vel dicta, a itaque facere voluptates? Sint earum repudiandae architecto officia itaque rerum. Inventore aspernatur quisquam quam aliquam sunt dolorem nisi suscipit, debitis provident impedit quo voluptas, ducimus repudiandae consectetur unde dolorum deserunt repellendus! Commodi quis doloremque praesentium. Harum ab dignissimos, fugit est doloribus, recusandae sequi nam fugiat, fuga aut officia provident iste quae dolorem eaque tempore non eligendi magnam adipisci necessitatibus sunt? Quasi distinctio corrupti saepe labore incidunt rerum natus, repellat suscipit itaque, impedit eveniet voluptas? Labore voluptatum sunt voluptates doloremque corrupti asperiores enim quis minus, ad, magnam natus iste non ab. Unde beatae nulla nesciunt. Recusandae optio sint perferendis quos, dicta quod sed distinctio! Cupiditate corporis quas earum reprehenderit illo reiciendis consequuntur nulla dolores dicta explicabo voluptate mollitia nemo laborum nihil ut eaque soluta saepe magnam non animi nam tempore recusandae, accusantium corrupti! Repudiandae quia necessitatibus hic minima maxime est excepturi porro aperiam suscipit cumque repellat, soluta qui at. Vero quo, tenetur esse ad minima ipsa aperiam voluptatem assumenda quasi, expedita, nobis nesciunt! Aut harum id voluptates sed iusto saepe eveniet sint aliquam, facere nam fuga in, voluptas aspernatur maiores non nihil, corrupti labore temporibus. Voluptates atque nam qui voluptatibus, dicta voluptate earum maxime molestiae ducimus a culpa expedita vitae fugiat omnis! Ex nihil placeat molestiae deserunt illum similique. Rerum excepturi cupiditate, veniam recusandae minima quia nam illum esse soluta mollitia reiciendis molestias, nihil, sed deleniti autem dolore corrupti corporis numquam similique quibusdam nisi unde? Ullam optio cumque, consectetur quibusdam id dolores magni odit eaque fuga laboriosam! Perferendis dolorem eveniet aliquid officiis iure dolor ratione! Nihil, sunt nobis fugit, cum aperiam, illum dignissimos dolorum architecto vitae nisi voluptate animi labore inventore nostrum rem deserunt sint? Doloribus rem sapiente harum tenetur, in iure dolorem maiores, accusamus nihil suscipit at eligendi sunt eaque exercitationem officiis ab voluptatibus ad esse facere. Nobis voluptas omnis neque ipsa obcaecati ab nostrum velit illum at. Reiciendis dicta possimus, eligendi quibusdam repellendus maiores nihil incidunt alias perferendis dolorem expedita sint earum vero. Optio obcaecati officiis incidunt soluta odit? Voluptate quia a repellat natus velit doloremque distinctio veritatis consequatur commodi. Ex esse libero error modi suscipit incidunt explicabo maxime ipsum. In temporibus accusantium labore magnam omnis maxime nostrum aspernatur culpa vel! Temporibus placeat reiciendis cum alias incidunt? Asperiores rerum deleniti consectetur eveniet autem? Repudiandae repellendus illo cum autem accusamus odit cumque dolores. Autem nesciunt voluptatibus et atque, ipsam est soluta rerum corrupti laboriosam error reprehenderit totam repellendus nulla esse. Qui, magni perferendis minus cumque corporis illo! Suscipit deleniti dolor cumque.
</div>
</div>

How to prevent this lightbox from going off the top of the page? [duplicate]

This question already has answers here:
Can't scroll to top of flex item that is overflowing container
(12 answers)
Closed 6 years ago.
I can scroll down, but not up. I want a minimum 10px margin from the window border all around the dialog. It seems to work on the bottom, but not on the top for some reason. I can't figure out why.
jsbin
.greyOut {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: black;
opacity: 0.5;
}
.wrap {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: center;
overflow-y: auto;
}
.dialog {
background-color: white;
padding: 5px;
border-radius: 3px;
z-index: 100;
margin: 10px;
box-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
}
<div class="wrap"><div class="greyOut"></div><div class="dialog" style="width: 500px;">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum dolorem, reprehenderit earum dolores cumque autem numquam temporibus alias accusamus perspiciatis mollitia, itaque saepe consectetur adipisci quisquam deserunt quis ad aperiam.</p>
<p>Vel temporibus vero neque, autem aspernatur quam laudantium corporis enim ex suscipit corrupti, quasi officiis quibusdam, sit repudiandae necessitatibus nostrum repellendus iure quisquam nulla voluptate fuga quod maiores! Illum, est!</p>
<p>Aspernatur suscipit laborum reprehenderit earum, officiis, dolor neque temporibus mollitia corporis. Provident vel quis quod expedita deserunt culpa ex atque labore nihil voluptatum veniam minus, nemo nostrum fugiat facere quia.</p>
<p>Praesentium quos vitae voluptas velit error recusandae delectus hic, facere nemo autem, perspiciatis cumque qui sed dolor officiis animi modi! Dolore hic, placeat itaque? Amet doloribus officia porro ipsam dignissimos.</p>
<p>Laborum nam quaerat, amet, voluptates, cumque facilis quos accusamus dicta dolorum voluptatem quasi inventore minus qui quam sit incidunt. Debitis necessitatibus fuga, temporibus repudiandae nobis, est deleniti delectus doloremque magni?</p>
<p>Consequatur, perspiciatis, praesentium reiciendis aspernatur laudantium veritatis nesciunt sed id cupiditate inventore velit nobis eligendi provident incidunt, impedit vitae iste odit? Non reprehenderit, ullam nihil modi repudiandae laudantium porro accusamus.</p>
<p>Veritatis porro, perspiciatis mollitia maxime voluptatum consectetur cupiditate quam recusandae a consequatur officiis quas, dicta esse iusto minus ratione reiciendis impedit nam alias eveniet nobis. Ex dolorem eveniet voluptate necessitatibus!</p>
<p>Eligendi dolorem voluptatem facere, cupiditate fugit praesentium consectetur velit explicabo, esse distinctio unde amet pariatur rerum, recusandae cum. Aperiam porro expedita commodi ipsam, rem vero officiis tempore. Obcaecati, eaque dolorum.</p>
<p>Fugit reiciendis, nam illo libero autem quo rerum incidunt quis in deserunt, expedita doloremque! Qui rem hic quibusdam magnam debitis aliquam accusantium harum dolorem libero? Pariatur corporis similique voluptatum ipsam.</p>
<p>Esse, dolorem ducimus nostrum id earum perspiciatis voluptatem culpa molestias voluptas excepturi odit maxime, expedita recusandae voluptatibus eaque doloremque vel nobis est assumenda illo quasi, debitis incidunt commodi. Labore, magni!</p>
<p>Ut fugit praesentium quasi cumque libero distinctio exercitationem aperiam est quod inventore, ipsam hic aliquid perferendis voluptatibus, nemo aliquam, esse quia laboriosam cum? Maiores esse aut ullam accusantium, alias. Labore!</p>
<p>Dicta consectetur quo, modi quisquam, esse natus ipsa nobis unde eligendi, iste accusamus doloribus quaerat facilis impedit accusantium recusandae quia quae autem aperiam debitis quas perspiciatis nihil. Autem, accusantium, ipsa.</p>
<p>Voluptate, quas tempora adipisci repellat quisquam soluta, nisi sed consequatur nemo beatae hic fugit ex quaerat in itaque exercitationem, culpa libero assumenda distinctio, temporibus fuga officiis vero. Facere, fugit quibusdam.</p>
<p>Vel ad, soluta autem quod voluptate, praesentium asperiores est nostrum accusamus qui fugiat earum facilis reiciendis ducimus iure perspiciatis quisquam! Fuga harum culpa, atque sed! Ut esse, eveniet. Similique, veritatis.</p>
<p>Officiis nobis assumenda nemo quaerat ratione, maxime adipisci doloribus fugit odit sequi reiciendis sed quam, sunt eius odio. Nesciunt, quos repudiandae quo aperiam iure provident beatae ratione culpa deleniti consequatur.</p>
<p>Quam, placeat accusantium sed dolore delectus aliquam provident ea. Culpa omnis nulla, perferendis nostrum nihil distinctio rerum. Eveniet iste, debitis voluptates, voluptas laudantium quas, esse, numquam eius soluta fugit sint.</p>
<p>Molestiae officia optio reprehenderit sequi dolorum placeat, tempore natus expedita, ullam inventore non quod, eaque aut magnam officiis. Ad corrupti, rerum cumque ipsam maiores suscipit dolor numquam qui ratione quo.</p>
<p>Saepe animi, voluptates natus nobis, illum iste nostrum. Assumenda sed praesentium neque nemo amet blanditiis fugiat architecto ad nobis voluptas esse repudiandae accusantium, officia quas aspernatur saepe similique dolor cupiditate.</p>
<p>Accusantium, unde, molestiae! Eveniet voluptas, tempore voluptatem blanditiis, quam sint, unde fuga molestias delectus eum assumenda magni. Error, deleniti ex, vel eius nesciunt voluptatum aut laudantium aliquam pariatur rerum, consequuntur?</p>
<p>Nemo ad quis alias possimus repellendus quo accusantium eos accusamus mollitia nulla consequuntur delectus perferendis expedita, aut ut cum sint a porro error cumque enim debitis. Ea cumque adipisci doloremque.</p>
</div></div>
If need to apply margin: auto; to your .dialog class so that it will be aligned from the top instead of it being centered.
If you want to keep the 10px margin that you had originally set, just use padding on the parent instead.
CSS
.wrap {
padding: 10px;
}
.dialog {
margin: auto;
}
Working JSBin

position: sticky to bottom left

I have just been playing around in FF32 & Safari 7, with position: sticky. And it works perfecly with top: 0px or left: 0px (to stick horizontally), but it doesn't seem to work when I try bottom: 0px or even better, combine bottom: 0; left: 0 it doesn't set itself to the bottom of the element. This behaviour could be tried out here: http://html5-demos.appspot.com/static/css/sticky.html, by simply changing the top: 10px attribut to bottom: 0. Is that not supposed to work?
I think it is a valid use-case to stick something to the bottom in the same way as one would want to stick something to the top.
In our case it is, because I am interested in having something sticky on horizontal scroll, but I want this element to be at the bottom of the parent element.
Anyway, any suggestions and extra info are welcome.
position: sticky;
bottom: 30px;
does work. Keep in mind sticky elements are relative to their parent.
http://codepen.io/corysimmons/pen/QyBMXN?editors=1100 (in Firefox)
In this case, <section> (the blue area) is the parent.
It does not work with Stickyfill though https://github.com/wilddeer/stickyfill#what-it-doesnt
I suggest you play around with it for a bit longer til you get the hang of it.
Let me know if you need a JS plugin that will behave like position: sticky without having to use position: sticky (can't wait for browser support or a stronger polyfill though).
The way to think about an element with position: sticky is as follows:
"The item that has position: sticky shall always remain in its normal place inside its parent, UNLESS said normal place goes outside of the viewport, in which case sticky item should become fixed relative to the viewport. All bets are off if the parent container also leaves the viewport, in which case the sticky items gets scrolled away with it".
This Codepen illustrates it really well. Notice how the red box stays in its normal place as long as the parent blue box is in normal view. However, when you scroll such that the red box starts to go out of the viewport, it gets fixed. Finally when the blue parent gets scrolled out of the view entirely, the red box also disappears.
* {
box-sizing: border-box;
}
body {
height: 3000px;
padding: 3rem;
}
section {
background: dodgerblue;
color: white;
line-height: 1.5;
padding: 30px;
}
div {
display: block;
width: 100px;
height: 100px;
background: tomato;
position: sticky;
bottom: 30px;
}
<section>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci repellat cum totam! Enim, sunt. Numquam voluptate, velit quisquam ipsa molestias laudantium odit reiciendis nisi corporis voluptatibus, voluptatum sunt natus, accusantium magnam consequatur fugit officiis minima voluptatem consequuntur nam, earum necessitatibus! Cupiditate ullam repellendus, eius iure voluptas at commodi consectetur, quia, adipisci possimus, ex mollitia. Labore harum error consectetur officiis aut optio, temporibus iste nobis ducimus cumque laudantium rem pariatur. Ut repudiandae id, consequuntur quasi quis pariatur autem corporis perferendis facilis eius similique voluptatibus iusto deleniti odio officia numquam tenetur excepturi, aspernatur sunt minima aut fugiat ipsam. Ea nesciunt, amet fugit facere similique dolor nam tempora perferendis aut fugiat non, ex pariatur excepturi odio aspernatur libero saepe ducimus rem magni cumque. Laboriosam nisi fuga accusantium quos qui? Maiores ratione aliquam eos odio eius molestiae nesciunt exercitationem dolor perspiciatis quam. Necessitatibus rem nihil ad culpa, tenetur iusto consectetur rerum, delectus neque? Error, quas, eaque! Quibusdam voluptas expedita possimus consequatur accusantium distinctio, esse quisquam, ipsa blanditiis, officia perferendis et? Iste, nam optio vero earum tenetur voluptatibus modi a, odit aliquid eos corporis nulla saepe vel neque voluptate ratione, facilis quo sed nisi voluptates nostrum dolor. Non mollitia dignissimos laudantium quos libero nisi, nobis harum, asperiores soluta reprehenderit doloremque ipsa id unde voluptates beatae deserunt. Minima repellendus ipsam molestias veritatis pariatur nobis nihil, alias quasi, esse, aspernatur saepe beatae, hic consequatur. Sit sequi, libero quisquam quibusdam fuga tempore ab molestiae praesentium, necessitatibus, vero odio ullam qui non totam voluptas reprehenderit ad neque voluptate. Nam atque impedit ducimus, dolore reiciendis delectus inventore beatae cumque. Magni, id quos officiis soluta consequatur nam quis, modi fugit adipisci vel autem dolorum iusto cumque, libero reprehenderit amet doloremque voluptatem sunt sapiente reiciendis omnis, similique nulla enim. Autem repellendus, illo eveniet recusandae quae quibusdam itaque, delectus, consequatur provident vitae vero magnam repudiandae fugit, placeat sapiente! Omnis, possimus natus obcaecati sunt harum impedit, veniam quae numquam cum eos. Suscipit nihil totam itaque odio assumenda nemo? Eos iusto voluptas, consectetur sit totam velit fuga ea impedit laboriosam, dignissimos neque ipsum! Nostrum, recusandae. Autem sit aperiam culpa neque quaerat, voluptatibus repellendus. Magnam voluptatem illo quidem sapiente, nemo neque temporibus unde harum mollitia sit dignissimos eligendi accusantium, deserunt numquam, recusandae aperiam iure vero tenetur ea suscipit. Necessitatibus vel, omnis praesentium pariatur officia! Odio maxime dolor vitae ab deleniti et accusantium, iure molestiae eaque soluta sequi, autem, quae ex labore hic dicta temporibus quibusdam animi modi qui necessitatibus nulla. Perspiciatis molestiae architecto culpa quaerat amet fuga, fugiat laboriosam tempore at adipisci, tempora laborum ducimus alias corporis beatae dolor repellendus reiciendis aut cum. Quos enim quae dolores voluptates deleniti est eum beatae impedit unde quidem cumque, labore, quod a asperiores tempora vel blanditiis? Facere corporis mollitia vitae! Exercitationem esse perferendis, et aliquid iste saepe, quos, qui dolore est facere porro. Sapiente nesciunt, ad nostrum hic optio omnis libero autem minus eius, perferendis numquam adipisci corporis nisi ipsa assumenda possimus repudiandae distinctio vel accusamus quam animi esse eos natus pariatur. Molestiae in temporibus ipsum, eveniet itaque minus facilis magnam corporis amet, aspernatur ducimus iste quis numquam laudantium saepe optio nam nisi dolore necessitatibus perferendis hic non ea labore. Impedit rerum laudantium amet aperiam. Debitis tenetur veniam molestiae ab labore maxime incidunt iste commodi recusandae, adipisci obcaecati, molestias placeat aperiam atque, dolorum facere quae nesciunt. Facere aspernatur dolore consequatur tempora veritatis qui et eos quo voluptatum ipsum nemo rerum debitis nostrum, atque ratione aliquam nulla cumque aperiam officiis? Corporis a sunt, quis vel, quae molestias vitae recusandae magni! Nostrum animi totam dolore nemo voluptatem? Nihil consequuntur corrupti quaerat quis dolorum! Culpa, at quibusdam, saepe quas accusamus sequi tempore molestiae perferendis error fugiat, in totam laboriosam. Mollitia necessitatibus eius nisi, blanditiis rem commodi doloremque dicta, hic cumque quod possimus, obcaecati nesciunt deserunt. Vel id quas aliquam, fugiat repellendus perferendis voluptate consectetur deleniti cumque harum odit dolores ducimus facere? Mollitia qui dolore ut quod facere, recusandae repellendus debitis minus aliquid delectus inventore numquam ipsam fugit doloribus, voluptatum, earum eveniet ipsa, impedit fuga! Illo ipsa dolor id enim facere ipsam similique consectetur porro sequi ea perspiciatis soluta provident, ex amet nulla quos sit. Rerum nam, odit dignissimos! Delectus, corporis perspiciatis magni tempore praesentium dolorem magnam architecto earum animi, vero, obcaecati alias distinctio quae eligendi eos doloremque assumenda. Neque temporibus doloremque, natus deserunt ipsam repellendus. Dolorum consequuntur culpa esse modi adipisci, rem natus at fuga id, architecto delectus! Culpa quaerat nulla magnam sint repudiandae, impedit quisquam iure illum, natus at nesciunt fuga obcaecati excepturi fugiat ea sed repellendus repellat aliquid vel, sunt dolores quae. Omnis nulla soluta natus consequuntur tempore, in esse autem reprehenderit cum totam fugit voluptate libero hic asperiores perspiciatis a, odio voluptatibus non alias inventore delectus impedit praesentium doloribus. Veritatis qui adipisci quisquam voluptates, similique consequatur repudiandae dignissimos accusantium rerum beatae fuga inventore. Sequi soluta maxime facere laudantium sint quae ab, dolores provident doloremque maiores quo eaque commodi veritatis, eligendi illo ipsum. Suscipit, veniam, cumque quidem, distinctio debitis magnam nesciunt dolore reiciendis minus accusantium quod ullam eaque magni. Adipisci debitis a, repellat suscipit doloribus officiis asperiores vero veritatis aliquam praesentium nihil corrupti, ipsam. Quae esse hic fugit, in harum illum laboriosam odio mollitia at dolor nam quisquam aperiam quidem error vero voluptatibus, quos dolorem ratione odit illo libero unde sunt distinctio rerum! Repellat omnis dolorum fuga dolor, molestias earum. Iure, repellendus quae nostrum temporibus odio ad. Nihil quidem enim unde nesciunt, velit esse eveniet nisi architecto ad perferendis obcaecati eum iste ipsum eligendi ut necessitatibus veritatis officiis minus non laborum. Tempore explicabo nostrum nihil. Sed eius, iure nisi saepe. Neque eaque, consectetur nostrum aliquam amet praesentium, dicta excepturi ducimus voluptatibus illum consequatur, rerum veniam omnis eos enim. At asperiores, soluta sapiente amet. Ipsum in sint iusto, cumque possimus iure quia fugiat. Facere ratione consequuntur deleniti nisi, nostrum esse. Et amet deserunt unde aliquid, magni, incidunt fugiat illo neque consequatur eum cum, alias repellendus odit voluptate. Hic ducimus, quidem, excepturi delectus rerum placeat illo exercitationem nesciunt natus voluptatum modi sequi consectetur praesentium quae eaque mollitia! Architecto excepturi atque, molestias natus.
</p>
<div></div>
</section>
If you know the height of the sticky element then you can use something like this:
.sticky-element {
position: sticky;
top: calc(100vh - 50px);
}
This would also work with Stickyfill. Not sure about browser support though.
body {
min-width: 600px;
min-height: 400px;
}
.container {
background-color: #9588c170;
/* , */
position: absolute;
width: 100%;
height: 100%;
/* overflow: scroll; */
overflow: auto;
}
.sticky {
width: 300px;
height: 200px;
background-color: #9588c1;
/* , */
position: sticky;
left: 1000px;
top: 900px;
}
<div class="container">
<div class="sticky">div</div>
</div>
.sticky-container {
position: sticky;
top: 100vh; // push it to the bottom from top
transform: translateY(-100%); // move it up again depending on its own height
width: 100%;
background: white;
padding: 20px 0;
}
with the following html:
<div id="bottom-left">I'm in the bottom left!</div>
and the following css:
#bottom-left {
width: 250px;
height: 250px;
color: #fff;
background-color: #000;
position: fixed;
bottom: 0;
left: 0;
}
you should have a sticky div in the bottom left corner of the page
Example: http://jsfiddle.net/wjxws9hy/