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%;
}
/*do it and see*/
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"); 
  
        /* Gets the amount of height 
        of the element from the 
        viewport and adds the 
        pageYOffset to get the height 
        relative to the page */ 
        currStickyPos =  
          stickyElem.getBoundingClientRect().top + window.pageYOffset; 
  
        window.onscroll = function() { 
  
            /* Check if the current Y offset 
            is greater than the position of 
            the element */ 
            if (window.pageYOffset > currStickyPos) { 
                stickyElem.style.position = "fixed"; 
                stickyElem.style.top = "0px"; 
            } else { 
                stickyElem.style.position = "relative"; 
                stickyElem.style.top = "initial"; 
            } 
        } 
    </script> 
</body> 
  
</html>

Tags: