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;
}
Example 3: absolute css
div{
position:absolute;
top:10px;
left:20px;
right:10px;
bottom:20px;
}
Wondering how to use absolute property within a div simple?
Say you have a div inside a div.
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.
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>