css sticky code example
Example 1: sticky operations in javascript
var siteHeader = document.getElementById('siteHeader'),
siteNav = document.getElementById('siteNav');
window.onscroll = function() {
if ( siteNav.offsetTop < document.documentElement.scrollTop + 26 || siteNav.offsetTop < document.body.scrollTop + 26) {
siteHeader.setAttribute("class","sticky");
}
else {
siteHeader.setAttribute("class","");
}
}
Example 2: css sticky navigatiojn
nav {
position:sticky;
top:0;
}
/*Top can be replaced with bottom, left, or right
depending on what you want :) */
Example 3: absolute css
/*hey guys if you have doubt how absolute property works, it works in way that
it comes out of the 'document flow' i.e) just consider two div elements in
which each a size of a box, say that you need two place the second box over the
top box simple just give it absolute position such that the second div
positioned itself with respect to the browser window, you can move the element
anywhere in the window*/
div{
position:absolute;
top:10px; /*it pushes away div element from top 10px down Remember with
browser window*/
left:20px;
right:10px;
bottom:20px;
/*last three property excatly similar to top property it just pushes away
from specified direction*/
}
Wondering how to use absolute property within a div simple?
Say you have a div inside a div. /*most case scenario*/
putting first div relative and mentioning second div absolute will do the job
In my early days of css, I wonder the position property with relative and no top
bottom, right left property with it. One day I realized it.
/*highly recommed you to run the following code two know the difference*/
1st)<div class='b'>
<div class="b1">
content
</div>
</div>
<style>
.b {
height: 200px;
width: 200px;
display: flex;
justify-content: center;
align-items: center;
background-color: rgb(201, 14, 14);
position: relative;
}
.b1 {
height: 100px;
height: 100px;
width: 100px;
position: absolute;
top: 50%;
left: 50%;
}
2nd)<div class="b1">
content
</div>
<style>
.b1 {
height: 100px;
height: 100px;
width: 100px;
position: absolute;
top: 50%;
left: 50%;
}
1st with reference to the first div
2nd to refrence to the object window
Wondering Why i use div for all my tags, simple due its flexibilty to be an
comman container
</style>
---By Siddharth -a physics undergraduate.
Example 4: make a div sticky
.fixedElement {
background-color: #c0c0c0;
position:fixed;
top:0;
width:100%;
z-index:100;
}
Example 5: how to make a div sticky using js
<!DOCTYPE html>
<html>
<head>
<title>
How to make make a div stick to
the top of the screen once it’s
been scrolled to?
</title>
<style>
.sticky-div {
background-color: green;
position: relative;
width: 100%;
padding: 10px 0px;
}
.start {
height: 100px;
}
.end {
height: 500px;
}
</style>
</head>
<body>
<h1 style="color: green">
GeeksforGeeks
</h1>
<b>
How to make make a div stick
to the top of the screen once
it’s been scrolled to?
</b>
<p class="start">
A Computer Science portal for geeks.
It contains well written, well thought
and well explained computer science and
programming articles, quizzes and
practice/competitive programming/company
interview Questions.
</p>
<div class="sticky-div">
This is div will stick to the top when it has been scrolled past
</div>
<p class="end">
A Computer Science portal for geeks.
It contains well written, well thought
and well explained computer science and
programming articles, quizzes and
practice/competitive programming/company
interview Questions.
</p>
<script>
stickyElem =
document.querySelector(".sticky-div");
currStickyPos =
stickyElem.getBoundingClientRect().top + window.pageYOffset;
window.onscroll = function() {
if (window.pageYOffset > currStickyPos) {
stickyElem.style.position = "fixed";
stickyElem.style.top = "0px";
} else {
stickyElem.style.position = "relative";
stickyElem.style.top = "initial";
}
}
</script>
</body>
</html>