Title: Sticky Menu &amp; Sticky Header
Author: WebFactory
Published: <strong>September 19, 2014</strong>
Last modified: July 25, 2026

---

Search plugins

![](https://ps.w.org/sticky-menu-or-anything-on-scroll/assets/banner-772x250.png?
rev=2391646)

![](https://ps.w.org/sticky-menu-or-anything-on-scroll/assets/icon-256x256.gif?rev
=2564941)

# Sticky Menu & Sticky Header

 By [WebFactory](https://profiles.wordpress.org/webfactory/)

[Download](https://downloads.wordpress.org/plugin/sticky-menu-or-anything-on-scroll.2.36.zip)

 * [Details](https://wordpress.org/plugins/sticky-menu-or-anything-on-scroll/#description)
 * [Reviews](https://wordpress.org/plugins/sticky-menu-or-anything-on-scroll/#reviews)
 *  [Installation](https://wordpress.org/plugins/sticky-menu-or-anything-on-scroll/#installation)
 * [Development](https://wordpress.org/plugins/sticky-menu-or-anything-on-scroll/#developers)

 [Support](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/)

## Description

The [WP Sticky](https://wpsticky.com/) Menu (or Sticky Header) On Scroll plugin 
allows you to **make any element on your pages “sticky”** as soon as it hits the
top of the page when you scroll down. Although this is commonly used to keep menus
at the top of your page to create floating menus, the plugin allows you to make 
any element sticky. Make a sticky header, stick menu, sticky widget (fixed widget),
sticky logo, sticky call to action or a floating menu.

You just need to know how to pick the right selector for the element you want to
make sticky, and you need to be sure it’s a unique selector. Sometimes a simple 
selector like “nav”, “#main-menu”, “.menu-main-menu-1” is enough. Other times you
will have to be more detailed and use a more specific selector such as “header >
ul:first-child” or “nav.top .menu-header ul.main”. If you don’t like messing with
any code check out out the visual element picker in [WP Sticky PRO](https://wpsticky.com/).

#### Features

 * **Any element can stick**: although common use is for navigation menus, or header
   the plugin will let you pick any unique element with a name, class or ID to stick
   at the top of the page once you scroll past it. Use it for sticky widget, sticky
   sidebar, sticky header, sticky menu, sticky header, sticky call-to-action box,
   sticky banner ad, etc. Need to make [multiple elements sticky](https://wpsticky.com/)?
   Check out WP Sticky PRO.
 * **Positioning from top**: optionally, you can add any amount of space between
   the sticky element and the top of the page, so that the element is not always
   stuck at the “ceiling” of the page.
 * **Enable for certain screen sizes only**: optionally, you can set a minimum and/
   or maximum screen size where the stickiness should work. This can be handy if
   you have a responsive site and you don’t want your element to be sticky on smaller
   screens, for example.
 * **Enable only on some pages**: sometimes you don’t want the element to be sticky
   on the entire site. [WP Sticky PRO](https://wpsticky.com/) gives you the option
   to pick posts, pages, categories, tags and CPTs where you don’t want the element
   to be sticky.
 * **Push-up element**: optionally, you can pick any other element lower on the 
   page that will push the sticky element up again (for example a sidebar widget).
 * **Admin Bar aware**: checks if the current user has an Admin Toolbar at the top
   of the page. If it has, the sticky element will not obscure it (or be obscured
   by it).
 * **Z-index**: in case there are other elements on the page that obscure or peek
   through your sticky element, you can add a Z-index easily.
 * **Legacy Mode**: in 2.0, a new method of making things sticky was introduced.
   In Legacy Mode, the old method will be used. See FAQ for details.
 * **Dynamic Mode**: some issues that frequently appear in responsive themes have
   been address by adding a Dynamic Mode (Legacy Mode only). See FAQ for details.
 * **Debug Mode:** find out possible reasons why your element doesn’t stick by switching
   on Debug Mode, and error messages will appear in your browser’s console.

Having **problems with SSL**? Moving a site from HTTP to HTTPS? Install our free
[WP Force SSL](https://wordpress.org/plugins/wp-force-ssl/) plugin. It’s a great
way to fix all SSL problems.

#### GDPR compatibility

We are not lawyers. Please do not take any of the following as legal advice.
 Sticky
does not track, collect or process any user data on the front end or in the admin.
Nothing is logged or pushed to any 3rd parties. We also don’t use any 3rd party 
services or CDNs. Based on that, we feel it’s GDPR compatible, but again, please,
don’t take this as legal advice.

## Screenshots

[⌊Basic Sticky Menu Settings screen⌉⌊Basic Sticky Menu Settings screen⌉[

Basic Sticky Menu Settings screen

[⌊Advanced Sticky Menu Settings screen⌉⌊Advanced Sticky Menu Settings screen⌉[

Advanced Sticky Menu Settings screen

## Installation

 1. Upload the “sticky-menu-or-anything” directory to your “wp-content/plugins” directory.
 2. In your WordPress admin, go to PLUGINS and activate “Sticky Menu (or Anything!)”
 3. Go to SETTINGS – STICKY MENU (OR ANYTHING!)
 4. Pick the element you want to make sticky
 5. Party!

## FAQ

### Can I make multiple elements sticky?

Sure, [WP Sticky PRO](https://wpsticky.com/) has that option. You can make as many
elements sticky as you like and configure settings individually for each element.

### I selected a class/ID in the settings screen, but the element doesn’t stick when I scroll down. Why not?

First, make sure that if you select the element by its class name, it is preceded
by a dot (e.g. “.main-menu”), and if you select it by its ID, that it’s preceded
by a pound/hash/number sign (e.g. “#main-menu”). Also, make sure there is only ONE
element on the page with the selector you’re using. If there is none, or more than
one element that matches your selector, nothing will happen.

### Once the element becomes sticky, it’s not positioned/sized properly at all.

Due to the nature of CSS, there are situations where an element will not stick properly,
usually if it has specific properties that are used to manipulate its location and/
or dimensions. If your sticky element has any of the following properties, this 
could cause conflicts:

 * negative margins
 * absolute positioning
 * top/left/bottom/right properties
 * “display: inline”
 * “!important” applied to any of its properties

Try to avoid all this where possible, but if you can’t, using the plugin in Legacy
Mode (see below) helps sometimes.
 Another situation that can cause trouble, is 
when any parent of your sticky element has the “transform” CSS property applied 
to it.

### Once the element becomes sticky, it’s not responsive and doesn’t resize when I change the browser size.

This is a known (and annoying) bug in the plugin that I haven’t been able to solve
properly yet. For some sites (when the element does not contain any JavaScript interactivity,
usually), it sometimes helps to use the plugin in Legacy Mode (see below).

### Is it possible to add some styles to the element but only when it’s sticky?

To add styles to your sticky element when it’s not sticky, use class name “.element-
is-not-sticky”.
 To add styles to your sticky element only when it’s sticky, use
class name “.element-is-sticky”

The following code would give your element a red background only when it’s not sticky,
and blue only when it is:

.element-is-not-sticky {
 background: red; }

.element-is-sticky {
 background: blue; }

### Once the element becomes sticky, there’s a brief moment where you see it twice.

If you’re using the plugin in Legacy Mode (see below), this happens when the sticky
element (or any of its contents) has a CSS transition applied to it. Because the
original element becomes invisible (and a cloned copy of it becomes visible), the
visible-to-invisible status change will take place with a transition (ie. not instantly).
Either remove any of the transitions the element has, or try disabling the Legacy
Mode.

### Still doesn’t work. What could be wrong?

Check the “Debug Mode” checkbox in the plugin’s settings. Reload the page and you
may see errors in your browser’s console window. If you’ve used a selector that 
doesn’t exist, OR there are more of them on the page, you will be notified of that
in the console.

### Is it possible to have multiple sticky elements?

The current version only allows one sticky element, but this functionality will 
be implemented in the next major version. No expected release date, though.

### How can I report security bugs?

You can report security bugs through the Patchstack Vulnerability Disclosure Program.
The Patchstack team help validate, triage and handle any security vulnerabilities.
[Report a security vulnerability.](https://patchstack.com/database/vdp/sticky-menu-or-anything-on-scroll)

## Reviews

![](https://secure.gravatar.com/avatar/a225d0f884f1393c6e5464231c4d5b57bd118e740f084a852e07b5b3ed753980?
s=60&d=retro&r=g)

### 󠀁[Very Useful & Practical](https://wordpress.org/support/topic/very-useful-practical/)󠁿

 [rknight09](https://profiles.wordpress.org/rknight09/) April 20, 2026 1 reply

Very useful & practical, improves scroll ability on my blog.

![](https://secure.gravatar.com/avatar/a9c2467f9b3b80c88e6d8e12966b9b2f669153c7e3c5c0e2de0aca1bfd73a321?
s=60&d=retro&r=g)

### 󠀁[Muy profesional. GRacias](https://wordpress.org/support/topic/muy-profesional-gracias/)󠁿

 [cesarlopez](https://profiles.wordpress.org/cesarlopez/) April 5, 2026

Muy versatil y profesional.

![](https://secure.gravatar.com/avatar/e6cbf3fd8e8aa036d4d267aaf10e3de6ae23ff35eaf4b922cf3322a3b1124051?
s=60&d=retro&r=g)

### 󠀁[simply works](https://wordpress.org/support/topic/simply-works-296/)󠁿

 [stefanruckh1965](https://profiles.wordpress.org/stefanruckh1965/) April 5, 2026

It simply worked since the beginning. Never had anything to solve with it.

![](https://secure.gravatar.com/avatar/cc3d6043949df3f638686d2f97b3ca49ee2e07a7cbe78b55346fb3a8b443600e?
s=60&d=retro&r=g)

### 󠀁[cần có nhiều ngôn ngữ khác](https://wordpress.org/support/topic/can-co-nhieu-ngon-ngu-khac/)󠁿

 [quangthanh](https://profiles.wordpress.org/quangthanh/) March 30, 2026

cần có nhiều ngôn ngữ khác và ít xung đột với các plugin khác

![](https://secure.gravatar.com/avatar/5141ef40a6e5df3d187fbb10502f44dd3ff9d99be900607c7b3e722c024e6ce5?
s=60&d=retro&r=g)

### 󠀁[good enough](https://wordpress.org/support/topic/good-enough-70/)󠁿

 [krxstudio](https://profiles.wordpress.org/krxstudio/) January 2, 2026

good enough

![](https://secure.gravatar.com/avatar/93c2c038fabb8e3ce903dd40c2c1a79963f6b9c98a1594b518cc922fe977e71f?
s=60&d=retro&r=g)

### 󠀁[good experience](https://wordpress.org/support/topic/good-experience-54/)󠁿

 [hasib531](https://profiles.wordpress.org/hasib531/) December 25, 2025

good experience

 [ Read all 759 reviews ](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/)

## Contributors & Developers

“Sticky Menu & Sticky Header” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ WebFactory ](https://profiles.wordpress.org/webfactory/)

[Translate “Sticky Menu & Sticky Header” into your language.](https://translate.wordpress.org/projects/wp-plugins/sticky-menu-or-anything-on-scroll)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sticky-menu-or-anything-on-scroll/),
check out the [SVN repository](https://plugins.svn.wordpress.org/sticky-menu-or-anything-on-scroll/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/sticky-menu-or-anything-on-scroll/)
by [RSS](https://plugins.trac.wordpress.org/log/sticky-menu-or-anything-on-scroll/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.36

 * 2026-07-25
 * minor code fixes

#### 2.35

 * 2026-04-15
 * minor code fixes

#### 2.34

 * 2025-08-10
 * minor code fixes

#### 2.33

 * 2024-07-08
 * minor security fixes

#### 2.32

 * 2022-11-20
 * minor security fixes

#### 2.31

 * 2021-02-19
 * fixed one really really visible typo
 * added custom footer text on plugin’s admin page
 * lowered the price for the team package

#### 2.30

 * 2021-02-13
 * better clean-up on delete and deactivate

#### 2.29

 * 2021-01-30
 * added flyout menu
 * added monthly price

#### 2.28

 * 2021-01-05
 * minor bug fixes and improvements
 * removed promo campaign for WP 301 Redirects

#### 2.25

 * 2020-10-16
 * PRO version is here
 * bug fixes and improvements

#### 2.23

 * 2020-10-01
 * more CSS fixes
 * added promo campaign for WP 301 Redirects

#### 2.22

 * 2020-09-08
 * improvement for themes with !important rule at margin top and left within sticky
   element

#### 2.21

 * 2020-06-19
 * security fix – thanks to Antony from Sucuri

#### 2.2

 * 2020-02-01
 * bug fixes
 * minor GUI improvements
 * 100,000 users hit on 2020-01-31

#### 2.1.1

 * Fixed minification bug

#### 2.1

 * Sticky element has specific classes to target sticky/non-sticky state: “.element-
   is-sticky” and “.element-is-not-sticky”

#### 2.0.1

 * fixed padding calculation bug (percentages are off when sticky)
 * fixed bug where assigned styles loop caused JS error

#### 2.0

 * Introduced a new/better method for making elements sticky
 * Added Legacy Mode (for those who want to continue the old method)
 * Split up settings screen in Basic and Advanced
 * Debug mode uses uncompressed JS file for easier remote debugging

#### 1.4

 * Removed error notification if no pushup-element is selected
 * Renaming class “cloned” to “sticky-element-cloned” and “original” to “sticky-
   element-original” to avoid conflicts with Owl Carousel
 * Fixed bug where cloned element width would be rounded down if it contained sub-
   pixels

#### 1.3.1

 * Minor bug fix for push-up element

#### 1.3

 * Added functionality to move sticky element down in case there is an Administrator
   Toolbar at the top of the page
 * Added functionality to push sticky element up by another element lower down the
   page

#### 1.2.4

 * Fixed small bug related to version number

#### 1.2.3

 * Bug with Dynamic Mode select box/label fixed
 * Bug with Z-index fixed (thanks @aguseo for reporting)
 * All text in plugin fully translatable
 * Added FAQ tab to settings screen
 * Added infobox to settings screen
 * Added a few comments to source code

#### 1.2

 * Dynamic Mode added (addressing problems with dynamically created menus — see 
   Frequently Asked Questions above for details)

#### 1.1.4

 * Ready for WordPress 4.1 (and TwentyFifteen)
 * Fixes issue when element has padding in percentages

#### 1.1.3

 * Fixes width calculation bug introduced in previous version (sorry about that),
   box sizing now supported

#### 1.1.2

 * Fixes element width calculation bug

#### 1.1.1

 * Fixes viewport calculation bug

#### 1.1

 * Added functionality for optional minimum/maximum screen size

#### 1.0

 * Initial release (using v1.1 of the standalone jQuery plugin)

## Meta

 *  Version **2.36**
 *  Last updated **1 week ago**
 *  Active installations **90,000+**
 *  WordPress version ** 3.6 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 5.2 or higher **
 * Tags
 * [floating menu](https://wordpress.org/plugins/tags/floating-menu/)[sticky](https://wordpress.org/plugins/tags/sticky/)
   [sticky header](https://wordpress.org/plugins/tags/sticky-header/)[sticky menu](https://wordpress.org/plugins/tags/sticky-menu/)
   [sticky widget](https://wordpress.org/plugins/tags/sticky-widget/)
 *  [Advanced View](https://wordpress.org/plugins/sticky-menu-or-anything-on-scroll/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  676 5-star reviews     ](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/?filter=5)
 *  [  33 4-star reviews     ](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/?filter=4)
 *  [  4 3-star reviews     ](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/?filter=3)
 *  [  6 2-star reviews     ](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/?filter=2)
 *  [  38 1-star reviews     ](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/reviews/)

## Contributors

 *   [ WebFactory ](https://profiles.wordpress.org/webfactory/)

## Support

Issues resolved in last two months:

     2 out of 2

 [View support forum](https://wordpress.org/support/plugin/sticky-menu-or-anything-on-scroll/)