thumbnail
Patterns come and patterns go. The ones that stick around the longest do as such since they take care of a specific issue. A pattern that is well known right presently for that very reason, is sticky components; components that act typically until we parchment, and after that keep up their nearness on the page by one means or another.
The pattern begun with sidebars, yet where it's truly developed in notoriety is headers. Why? Since headers have a tendency to contain route, and steady route is prevalent with clients.

In this instructional exercise we'll make a header that adheres to the highest point of the viewport, however so it doesn't meddle with the substance, will limit it when the client looks down the page.
This is what it will look like when we're set:
In the event that you'd get a kick out of the chance to take after alongside the code, you can download it here.


The HTML

The HTML for our illustration is truly straightforward, all we need is a h1 inside a header. Beneath that we have a picture to compel the page to scroll with the goal that we can test the impact.

<header><h1>Sticky Header</h1></header> 
<img src="large-image.jpg" width="782" height="2000" alt="Big Image" />

The jQuery

CSS moves are the most ideal method for dealing with the activity segment of our sticky header. All we're utilizing jQuery for is recognizing the parchment position of the window.

At the point when the parchment position of the window is more prominent than 1—implying that the client has looked over downwards—then we need to include the class "sticky" to the header; else we need to expel it (if it's there). This implies we'll have the capacity to style the header in view of whether the "sticky" class is connected.
$(window).scroll(function() { 
if ($(this).scrollTop() > 1){
$('header').addClass("sticky");
}
else{
$('header').removeClass("sticky");
}
});

The vital thing to note is that utilizing jQuery along these lines debases nimbly; if JavaScript is crippled, the route will in any case work, the header will basically be styled in the non-sticky default state.

The CSS

Our CSS is utilized to style the two unique expresses, the default state, and the "sticky" state; and to move between the two states.

To begin with, how about we include some basic styles that enhance the look of the header:
header{ 
position: fixed;
width: 100%;
text-align: center;
font-size: 72px;
line-height: 108px;
height: 108px;
background: #335C7D;
color: #fff;
font-family: 'PT Sans', sans-serif;
}

Presently for the fun part: when the client looks down, the "sticky" class will be connected, and we can now style the header diversely to mirror that new need on the page. We likewise set the position to settled, with the goal that we're not changing situating mid-scroll.

There are a few things we need to do: initially, we need to change the size with the goal that it goes through less screen space; we additionally need to change the shading and adjust to one side so that outwardly it doesn't meddle excessively:
header.sticky { 
font-size: 24px;
line-height: 48px;
height: 48px;
background: #efc47D;
text-align: left;
padding-left: 20px;
}

Actually, what you do here will rely on upon the plan you're attempting to accomplish. You can do pretty much anything you like.

On the off chance that you test this now, you'll see that the header changes when we look down.

Presently, to vitalize the change, we should simply set a move on the header, similar to so:
transition: all 0.4s ease;

Conclusion (Finally)

Making this energized header with CSS3 properties and flipping the class with jQuery is to a great degree basic and includes a huge amount of UX goodness to your site outline.

In addition, the code corrupts smoothly, so there truly is no drawback to the usage.