Build
Popup & Offcanvas
Popups and slide-in panels, designed in Elementor and opened by whatever you choose.
Both are Global Blocks that sit above the page rather than in it. A Popup can sit anywhere on the screen, with or without an overlay; an Offcanvas slides in from an edge.
Popups #
A popup can be a centred message, a corner notice, a bar across the page, a side panel or a full screen: newsletters, offers, logins, announcements or cookie consent. You design it in Elementor, and everything about how it behaves is in Elementor too, changing on the canvas as you adjust it.
- Create the blockCreate Block, with Section Type set to Popup, then open it in Elementor.
- Design itBuild the contents with any widgets. Keep it small: a popup is a message, not a page.
- Set how it looks and behavesClick the settings icon in Elementor’s top bar. The Popup sections are explained below.
- Decide how it opensAutomatically, with triggers, or from a button.
- Decide whereSet its Display Conditions. A discount offer on the shop only, say.
- Check itPublish and open Preview Changes: it shows the popup as it will sit on the screen, and plays its entrance.
Position, overlay and closing
Position and every size can be set per device, so a centred popup on a desktop can be a bottom bar on a phone. Use the device icon beside a control to switch.
The panel only shows what applies to your choices, so options appear and disappear as you go. A top bar has no Width because it is always as wide as the screen, and a popup attached to a trigger has no Overlay or Close Button. With a different position on another device, you see everything either position needs.
| Section | What it sets |
|---|---|
| Position & Size | Any corner, edge or the centre, a top or bottom bar, a left or right panel, or fullscreen. Width, max width, height, min and max height, and the distance from the screen’s edge, which also lifts a bar, panel or fullscreen popup off the screen’s edges. |
| Overlay | On or off, its colour in light and dark mode, blur, page scroll lock, and closing on a click. With it off, the page stays usable behind the popup, and the popup does not take the keyboard from it. |
| Box | Background and border in light and dark mode, a radius for each corner, and shadow. |
| Closing | The Esc key. With Esc, the close button and closing on an overlay click all off, only a button in your design can close it. |
| Close Button | A built-in button, on by default for a new popup: position, distance from the edge, button and icon size, icon thickness, corner radius, and colours, border and shadow, normal and on hover. An attached popup has none. |
| Animation | The effect, duration and easing. Match the Position slides in from the popup’s own edge, and zooms when it is centred. Preview Animation plays it on the canvas, saved or not. |
Opening automatically
Popup: Opening lists what can open it. Turn on any of them and it opens for whichever comes first. With none on, only a Trigger opens it.
| Trigger | Opens |
|---|---|
| On Page Load | After a delay in seconds. A few seconds beats appearing instantly. |
| After Scrolling | Once the visitor has scrolled this share of the page. |
| When Leaving the Page | When the pointer heads for the browser’s tabs. Never on a touch screen, which has no pointer. |
| After Inactivity | After this many seconds with no movement, typing or scrolling. |
| When an Element Scrolls Into View | When the element matching a CSS selector, like #pricing, appears. |
| When an Element Is Clicked | When anything matching a CSS selector is clicked, every time, whatever has been shown before. |
Who sees it, and how often
Popup: Who & How Often limits a popup that opens by itself, so it appears once one of the options above is on. A Trigger button or a click on an element can always open it, and neither one counts.
| Setting | What it does |
|---|---|
| Show on Desktop / Tablet / Mobile | Which screen sizes it may open on by itself. Turning it off on mobile is common. |
| After Pages Viewed | Wait until the visitor has seen this many pages in their visit. |
| Frequency | Every Page Load, Once per Visit, Once Every N Days, or Once, Ever. |
| After Closing, Hide For | Days to stay away from someone who closed it. 0 leaves it to Frequency. |
| Never Again After Its Form Is Sent | On by default: someone who has subscribed should not be asked twice. |
Every Page Load is rarely the right choice. It shows the popup again on every single page a visitor opens. Once per Visit is almost always what people actually mean.
Only one popup opens by itself at a time. Another that is ready waits until the first is closed, so a visitor is never met by two at once. A cookie consent popup always goes first.
Attached to a trigger: dropdowns and submenus
Choose Attached to Trigger, the last tile in Position, and the popup opens beside whatever opened it, instead of on the screen. This is how you build a dropdown on any link, button or icon, with anything inside it, since you design it in Elementor like any popup.
Only a Trigger, or When an Element Is Clicked, opens it, since it needs something to sit beside. It closes by itself, so it has no overlay or close button.
- Create a Popup blockDesign the menu or panel inside it.
- Attach itIn Popup: Position & Size, choose Attached to Trigger. It sizes itself to its content; set a Width or Max Width if you want.
- Connect the triggerOn the link, button or icon, set a Trigger to Open and pick this popup. Clicking again closes it.
- For a submenuCreate another attached popup, and put a Trigger for it inside the first. It stays open with its parent and closes with it, at any depth. Set its Side to After and Open On to Hover.
| Setting | What it does |
|---|---|
| Side, Alignment | Below, above, before or after the trigger, lined up with its start, centre or end. Per device. |
| Gap From Trigger, Shift Along Trigger | The distance from it, and a nudge sideways. Per device. |
| Width From Trigger | Fit the content, at least as wide as the trigger, or exactly as wide. A select-style dropdown uses Exactly. |
| Flip When There Is No Room | Opens on the other side of the trigger instead, near the edge of the screen. |
| Keep Inside the Screen, Screen Margin | Slides along so none of it is cut off, and how close it may get to the edge. |
| Open On | Click or hover, with delays for hover so a passing pointer does not set it off. Touch screens open it on tap. |
| Close on Outside Click | On by default. |
| Close Others When Opening | One menu at a time. A submenu only replaces its own siblings. |
| Close When an Item Is Clicked | For a menu: choosing something closes every level. Leave it off for a panel with a form in it. |
| Close on Scroll | Off by default, when it follows its trigger as the page scrolls. |
| Arrow | A pointer at the trigger: size and colour. It keeps pointing at it when the box has had to slide along. |
Building a menu
For rows with an icon, a label, text on the right or a chevron, build each row from a Container. A single button cannot hold all of that, and a Container takes any layout and its own hover background.
- Make the rowAdd a Container inside the popup. Set Direction to Row, Justify Content to Space Between and Align Items to Center, then give it padding, a radius and a background under Style → Background → Hover.
- Fill itPut the icon and label in one inner Container on the left, and the secondary text and chevron in another on the right.
- Make it do somethingFor a row that goes to a page, set the Container's
HTML Tag to
aand fill in Link. For a row that opens a submenu, use Advanced → NovaKit Settings → Trigger, set the action to Open and pick the submenu's popup. - Add the submenuMake it another Attached to Trigger popup, with Side set to the side you want it on.
A row with a Trigger and no link inside works from the keyboard by itself. For a disabled row, dim a Container and leave out both the link and the Trigger: it does nothing when clicked, and the arrow keys skip it. A row holding a switch or a form field should not be a link, since a link cannot contain another control.
On a phone, a small dropdown is often the wrong shape. Set Position to Bottom Bar for mobile only, and the same popup opens as a sheet from the bottom edge, with an overlay.
Keyboard: opening with Enter or Space moves focus into it. Arrow keys move through the items, Home and End jump to either end, the right arrow opens a submenu and the left arrow leaves it. Esc closes it and returns to the trigger. Tabbing past the end closes it.
Styling an open trigger: while its popup is open, the trigger has the class
nk-popup-trigger-open and aria-expanded="true", for your own Custom CSS.
Popups from the Library
A popup inserted from the Library brings its look and its opening rules, but not its Display Conditions, because where a popup shows belongs to your site. So one that opens by itself shows across your whole site as soon as it is inserted: set its Display Conditions straight away if that is not what you want.
Offcanvas panels #
Same idea, sliding in from an edge. Typical uses are a mobile navigation drawer, a cart, or a filter panel.
- Create the blockWith Section Type set to Offcanvas.
- Set its sizeWidth and Height in Section Settings, both accepting any CSS value.
- Design the contentsA menu, a search field, contact details — whatever the drawer is for.
- Add a triggerOffcanvas panels do not open on their own. See below.
Opening them with a Trigger #
The NovaKit Trigger widget is a button that opens a popup or offcanvas.
- Edit where the button belongsUsually the header, so drag it into your header block.
- Add NovaKit TriggerSearch the widget panel for NovaKit Trigger.
- Choose what it opensPick your popup or offcanvas block from the dropdown.
- Style itChoose a variant, including Link for no box at all. Add an icon, turn on Full Width, and use Content Justify to place the text and icon, such as Space Between for a label on the left and an arrow on the right.
A block with no way to open it is invisible. If an offcanvas never appears, the usual cause is no trigger pointing at it — unlike popups, they have no auto-open.
You can also open one from any element: give the element a link and use the Trigger Link dynamic tag, which produces the right link for a chosen block. Useful for turning a menu item or an image into an opener. The same tag can also fill in a form field: see Quick prompts.
Or skip the link: any widget or Container can be the opener itself. Open its Advanced → NovaKit Settings → Trigger, set the action to Open, and pick the block. Handy for making a whole card clickable. If the element has no link or button inside it, NovaKit makes it reachable by keyboard, so Tab, Enter and Space all work.
What a trigger can do
| Action | What it does |
|---|---|
| Open, Close, Toggle | Act on the block you pick. |
| Close & Remember | Closes a popup and stops it opening by itself for this visitor, ever. |
| Cookies: … | Accept All, Reject All, Save Choices and Open Settings. See Cookie Consent. |