How to Use CSS Position “sticky”?

CSS Position “sticky” is a relatively new feature in CSS that allows developers to create sticky elements on a web page. This feature combines the properties of both “fixed” and “relative” position types, creating a hybrid position type that is especially useful for creating navigation menus, headers, or other important elements that should remain visible as the user scrolls.

What is CSS Position “sticky”?

CSS Position “sticky” is a positioning type that allows an element to stick to a specific position on a web page as the user scrolls. It works by fixing an element in place until it reaches a specific scroll position, after which it becomes “sticky” and continues to stick to that position until it is scrolled out of view.

How to Use CSS Position “sticky”?

Using CSS Position “sticky” is relatively straightforward. To create a sticky element, you simply set the CSS “position” property to “sticky” and specify the position where you want the element to stick. For example, to create a navigation menu that sticks to the top of the screen as the user scrolls, you would set the “position” property of the menu to “sticky” and the “top” property to “0”.

Benefits of CSS Position “sticky”

One of the primary benefits of using CSS Position “sticky” is that it improves the user experience by keeping important navigation elements visible at all times. This is particularly helpful on longer pages where the user may need to scroll to find what they are looking for. Additionally, using “sticky” elements can help to improve the overall design and organization of a website by creating a more streamlined and cohesive layout.

Advanced Examples of Using CSS Position “sticky”

We will explore some advanced examples of using CSS Position “sticky” to create unique and dynamic web pages.

Sticky Header with a Drop-Down

Menu One of the most popular uses of CSS Position “sticky” is to create a sticky header that remains fixed at the top of the screen as the user scrolls. However, we can take this a step further by adding a drop-down menu to the header. By setting the “position” property of the drop-down menu to “absolute”, we can ensure that it overlays the content below while still remaining attached to the sticky header.

Navigation with Smooth Scrolling Another creative use of CSS Position “sticky” is to create a sticky sidebar navigation that remains visible as the user scrolls through a long page. To enhance the user experience, we can also add smooth scrolling functionality to the navigation links. By using JavaScript to target the appropriate sections of the page and applying a smooth scrolling effect, we can create a seamless and intuitive navigation experience for the user.

Sticky Call-to-Action

Button A call-to-action (CTA) button is an essential element of any website that wants to drive conversions. By using CSS Position “sticky”, we can make the CTA button sticky and ensure that it remains visible at all times, even as the user scrolls through the page. This can significantly increase the visibility and effectiveness of the CTA button and improve the overall conversion rate of the website.

Source code:

<!DOCTYPE html>
	<title>Sticky Call-to-Action Button Example</title>
		body {
			margin: 0;
			padding: 0;
			font-family: Arial, sans-serif;
			font-size: 16px;
			line-height: 1.5;

		.container {
			height: 1000px;
			position: relative;

		h1 {
			margin-top: 0;

		p {
			margin-bottom: 40px;

		.cta-button {
			position: sticky;
			bottom: 20px;
			width: 200px;
			padding: 12px 20px;
			background-color: #1abc9c;
			color: #fff;
			font-weight: bold;
			text-align: center;
			border-radius: 5px;
			box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);

		.cta-button:hover {
			background-color: #16a085;
	<div class="container">
		<h1>Welcome to My Website</h1>
		<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vel aliquam eros. Suspendisse potenti. Donec vestibulum luctus metus, ut commodo lorem pretium non. Vivamus nec eros ac nisi volutpat commodo. Nam hendrerit rhoncus ipsum sit amet dapibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed rhoncus convallis sem vel mattis. Fusce quis rutrum ante. Maecenas id mi lacus. Aenean euismod nisi nec mi vulputate dignissim. Aliquam erat volutpat. Nulla non posuere nibh. Sed sollicitudin libero eget justo cursus, ut convallis mi malesuada.</p>
		<a href="#" class="cta-button">Click Here to Sign Up</a>

In addition to sticky headers and sidebars, we can also use CSS Position “sticky” to create a sticky footer navigation that remains visible at the bottom of the screen as the user scrolls. This can be especially useful for websites that require users to navigate through a lot of content or for e-commerce websites that want to ensure that the shopping cart and checkout buttons remain visible at all times.

Sticky Table Headers

For websites that present data in a table format, it can be helpful to create sticky table headers that remain visible as the user scrolls through the data. By setting the “position” property of the table header row to “sticky”, we can ensure that it remains visible at all times, even as the user scrolls through the table.

Related posts:

  1. How to use CSS Icons?
  2. How to use CSS Border Image
  3. How to use CSS Lists?