Master Addons
  • Widgets
    • Changelogs
      Source Code NEW PRO
      Caldera Forms
      Logo Slider
      Table of Contents
      Gravity Forms
      Transforms PRO
      Restrict Content PRO
      Pricing Table
      Ninja Form
      Mailchimp
      Tooltip
      Popup Trigger NEW PRO
      Which Element NEW
      Creative Button
      Creative Links NEW
      Domain Search HOT PRO
      Dual Heading HOT
      Flipbox
      Animated Gradient BG HOT PRO
      Image Hotspot PRO
      Infobox
      News Ticker PRO
      Particles
      Progress Bar
      Off-Canvas Content NEW PRO
      Reading Progress Bar HOT
      Custom JS
      Blockquote
      Counter Up
      Image Hover Effects
      Reveal NEW PRO
      Rellax PRO
      Positioning
      Image Comparison
      Tabs
      Toggle Content HOT PRO
      Post/Page Duplicator FREE
      Floating Effects PRO
      Mega Menu HOT
      Custom CSS HOT
      Gradient Headline
      Advanced Image
      Nav Menu
      Tooltips
      Comparison Table PRO
      Glassmorphism
      Featured Product PRO
      Image Carouse
      Gallery Slider NEW PRO
      Dynamic Tags NEW
      Countdown Timer
      Current Time
      Patterns
      Wrapper Link
      Timeline
      Team Member
      Contact Form 7
      Advanced Accordion
      Animated Headlines
      Blog
      Business Hours
      Call To Action
      Progress Bars
      Background Slider
      Team Slider
      Dynamic Table
      Grid Line PRO
      WP Forms
      Search
      We Form
      Entrance Animation NEW PRO
      Display Conditions PRO
      Filterable Image Gallery
      WP Forms
      Custom Breakpoints NEW
  • Features
    • Theme Builder

      Design site-wide templates for a consistent look across every page of your website.

      Popup Builder

      Create engaging popups, modals, and announcement bars - to capture leads.

      Widget Builder

      Expand Elementor with advanced custom widgets to build more dynamic layouts.

      Mega Menu Builder

      Create multi-column menus with icons and images for superior navigation.

      Custom Css

      Apply your own CSS for pixel-perfect styling beyond default design options.

      Dynamic Tags

      Insert dynamic content like post titles and custom fields directly into designs.

      Display Conditions

      Control element visibility based on user role, device, time, and other rules.

      Icons Library

      Choose from thousands of built-in icons to enhance visuals and consistency.

      Animation

      Add scroll, hover, entrance, and much more animations to bring designs to life.
  • Template Kits
    • Template Kits

      Professionally designed full-page template Kit. Import and customize in seconds.

      Ready Sections

      Pre-built content sections and rows. Drag, drop, and customize instantly.

      Ready Popups

      Different types of High-converting popup designs. Import and launch quickly.

      Ready Pages

      Complete page layouts for any purpose. Start editing immediately.

      Ready Header

      Multiple modern header designs. Import and adapt to your brand.

      Ready Footer

      Fully designed footers for different websites. Add functionality and style in clicks.
  • Brands
    • WP Adminify

      WP Adminify

      Take control of your WordPress dashboard. Customize the admin experience.
      Admin Bar Editor

      Admin Bar Editor

      Customize the WordPress admin bar for a cleaner, more personalized workspace.
      Loginfy

      Loginfy

      Customize your WordPress login page with branding, styles, and security enhancements.

      Rolemaster Suite

      Manage user roles and permissions with precision for better security and workflow.
      Master Blocks

      Master Blocks

      Expand the Gutenberg editor with advanced custom blocks for more creative layouts.
      WP Spotlight

      WP Spotlight

      Instantly search and access admin features, posts, and settings from anywhere.
  • Themes
  • Help
    • Get Support
    • Documentation
    • Facebook Community
    • Changelogs
  • Blog
Pricing
🇺🇸EN
  • 🇺🇸EN
  • 🇸🇦AR
  • 🇧🇩BN
  • 🇩🇰DA
  • 🇩🇪DE
  • 🇪🇸ES
  • 🇫🇷FR
  • 🇮🇳HI
  • 🇰🇷KO
  • 🇵🇹PT
  • 🇷🇺RU
  • 🇨🇳ZH

Getting Started

  • Can’t see the Master Addon Element inside Elementor Page editor?
  • How To Apply For an Affiliate Account?
  • Active Pro version
  • Installing Plugin

Addons

  • Popup Trigger
  • Off-Canvas Content
  • Logo Slider
  • Progress Bars
  • Image Carousel
  • Featured Product
  • Comparison Table
  • Source Code
  • Advanced Image
  • Gradient Headline
  • Gallery Slider
  • Toggle Content
  • Infobox
  • Timeline
  • Dynamic Table
  • Mailchimp
  • Blockquote
  • Changelogs
  • Countdown Timer
  • Current Time
  • Search
  • Filterable Image Gallery
  • Team Slider
  • Counter Up
  • Restrict Content
  • Table of Contents
  • Image Hotspot
  • Image Comparison
  • News Ticker
  • Image Hover Effects
  • Tabs
  • Pricing Table
  • Navigation Menu
  • Domain Search
  • Flipbox
  • Tooltip
  • Creative Links
  • Business Hours
  • Contact Form 7
  • Creative Button
  • Animated Headlines
  • Advanced Accordion
  • Call to Action
  • Progress Bar
  • Blog
  • Team Member
  • Dual Heading

Extensions

  • Mega Menu
  • Which Element
  • Post Duplicator
  • Grid Line
  • Glassmorphism
  • Tooltip
  • Wrapper Link
  • Floating Effects
  • Dynamic Tags
  • Display Conditions
  • Entrance Animation
  • Custom Breakpoints
  • Animated Gradient Background
  • Reveal
  • Particles
  • Background Slider
  • Transforms
  • Rellax
  • Positioning
  • Custom CSS

Widget Builder

  • Conditions
  • Twig Syntax
  • Settings Panel Introduction
  • Divider
  • Text Shadow
  • Select2
  • Border
  • Heading
  • Tabs
  • Repeater
  • Visual Choice
  • Background
  • Dimensions
  • Box Shadow
  • Slider
  • Icons
  • Gallery
  • Media
  • Popover Toggle
  • URL Field
  • Date Time
  • Typography
  • Font
  • Color Field
  • Choose
  • Select
  • Switcher
  • Hidden
  • Code
  • WYSIWYG
  • Textarea Field
  • Number
  • Text Field

Theme Builder

  • Comment Form
  • 404
  • Search
  • Archive
  • Single
  • Footer
  • Header

Popup Builder

  • How to Open a Popup After Inactivity in Elementor
  • How to Show an Exit Intent Popup in Elementor
  • How to Open a Popup on Scroll to a Specific Element in Elementor
  • How to Open a Popup on Scroll in Elementor
  • How to Open a Popup on Click in Elementor
  • How to open a popup on page load?
  • Popup Settings & Options

Template Kit

  • How to Import Template Kits in Master Addons
  • How to Disable Elementor Default Fonts and Colors
  • Import Elementor Template Kits
View Categories
  • Home
  • Docs
  • Widget Builder
  • Tabs

Tabs

Roy Jemee
Updated on August 6, 2026

7 min read

The Tabs field organizes a widget’s controls into panel tabs, the same structure Elementor’s own widgets use for Normal and Hover state styling. Inside the Master Addons Widget Builder, you define the tabs, place child controls in each, and the Elementor panel renders them as a compact tab strip instead of one long scroll of fields.

The Tabs control supports Conditions like every field, and its children are read through the Twig-syntax template engine with a three-part token, {{ tabs.tab_1.field }}, no loop required. Both guides cover the details and limitations.

Tabs is a structural field. It holds no value of its own; the values belong to the children, and your template reads each one through a nested path that names the tabs field, the tab, and the field inside it. No loops, no tricks, just addresses.

What the Tabs field does #

  • Renders a tab strip in the widget’s panel, built on Elementor’s control tabs mechanism.
  • Holds a set of tabs, each with its own name, label, and list of child controls.
  • Keeps related states together, the classic pairing being Normal and Hover versions of the same settings.
  • Exposes child values through nested paths in your template: the tabs field’s name, then the tab, then the field.
  • Allows the same child names across tabs, so Normal and Hover can mirror each other cleanly.

If you are just getting started with the builder, read the Widget Builder overview before this one.

Before you start #

  • WordPress with Elementor installed and active.
  • Master Addons for Elementor installed and active. New to the plugin? See the installation guide.
  • A custom widget open in the Widget Builder editor. Our example is a button widget with a Tabs field named states holding a Normal tab and a Hover tab, each with a color field named bg.

How to add a Tabs field #

In the Widget Builder editor, scroll the fields panel on the left until you find the Tabs field, listed with the other structural fields such as Popover Toggle and Repeater.

Drag it into a section under the Style tab, where state styling lives, then define the tabs and drop child controls into each one. The field’s options open on the left as soon as it lands.

Tabs field options explained #

  • Label: the heading shown above the tab strip in Elementor.
  • Name: the unique identifier for the whole tabs group, letters, numbers, and underscores only, for example states. It is the first segment of every child’s template path.
  • Tabs: the list of tabs. Each tab carries a name (used in template paths, for example normal), a label (shown on the strip, for example “Normal”), and its own set of child controls.
  • Child controls: the fields inside each tab. Value field types work here, and each keeps its own options and value shape.
  • Description, Show Label, Separator, and Conditions are the same display options as everywhere else.

Read tab values through nested paths #

Children of a Tabs field are addressed with a three-part dot path: the tabs field’s name, the tab’s name, then the child field’s name.

{{ tabsname.tabname.fieldname }}

There is no looping over tabs. Each value gets read exactly where you need it. For the button example, a states tabs field with Normal and Hover tabs, each holding a bg color field, wires into the CSS panel like this:

.ma-btn {
  background: {{ states.normal.bg }};
}
.ma-btn:hover {
  background: {{ states.hover.bg }};
}

Naming the child the same in both tabs is deliberate and supported. Internally the builder dedupes duplicate keys with a counter, but the template path stays per-tab, so bg in Normal and bg in Hover remain two distinct, cleanly addressed values. Mirrored names are the pattern to aim for: whoever reads the template sees the Normal and Hover rules differ by one path segment only.

Watch out: the flat token {{ bg }} resolves to nothing, and so does the two-part {{ normal.bg }}. The path always starts with the Tabs field’s own name. When a tab value prints empty, count the segments first. Renaming a tab breaks paths the same silent way; the CSS keeps compiling, the value just stops arriving, so settle on tab names before you write the rules.

Use the Tabs control in Elementor #

Add your custom widget to a page in Elementor (or reload the editor if the page was already open). The tab strip renders in the panel with your tab labels, and clicking a tab reveals its child controls.

An editor sets the Normal background on the first tab, switches to Hover, and sets the second color. Hovering the button in the preview shows the transition immediately, since both values already sit in the widget’s CSS rules.

Common use cases #

  • Normal and Hover styling for buttons, cards, and links, the classic pairing.
  • Active and inactive states for toggles, filters, and nav items.
  • Before and after settings in comparison or reveal widgets.
  • Light and dark variants, letting editors tune both schemes from one section.
  • Odd and even row styling in list and table widgets.

Tips for working with the Tabs field #

  • Address values with the full three-part path. {{ states.hover.bg }} works; {{ bg }} and {{ hover.bg }} do not.
  • Mirror child names across tabs. Same fields, same names, one differing path segment; the template stays readable and the tabs stay comparable.
  • Keep tab names short and lowercase. They are template identifiers, so normal and hover beat “Tab 1” and “Tab 2”.
  • Use tabs for states, sections for topics. Two variants of the same settings belong in tabs; unrelated settings belong in separate sections.
  • Remember each child keeps its type’s value shape. A slider inside a tab still reads as {{ states.normal.gap.size }}{{ states.normal.gap.unit }}.

Frequently Asked Questions #

What is the Tabs field in the Master Addons Widget Builder?

It is a structural field that splits a widget’s controls into panel tabs, built on Elementor’s control tabs mechanism. Each tab holds its own child controls, and templates read every child through a nested path: {{ tabsname.tabname.fieldname }}.

How do I read a value from a specific tab?

Use the full dot path: the Tabs field’s name, the tab’s name, then the child’s name. For a states field with a Hover tab containing bg, that is {{ states.hover.bg }}. Shorter paths resolve to nothing.

Can I loop over the tabs in my template?

No, and you do not need to. Tabs organize controls rather than holding a list, so each value is addressed directly where the markup or CSS uses it, unlike a Repeater where a for loop prints rows.

Can two tabs contain fields with the same name?

Yes, and it is the recommended pattern. Internal keys are deduped automatically, while the template path stays per-tab, so {{ states.normal.bg }} and {{ states.hover.bg }} are separate values from identically named fields.

How do I build the usual Normal and Hover styling?

Create two tabs named normal and hover with matching child fields, then write both rules in the CSS panel: the base selector reads the Normal values and the :hover selector reads the Hover values.

Why does my tab field’s token print nothing?

Either the path is incomplete or a segment is misspelled. The Tabs field itself has no value, so the token must name all three parts, using the tab’s name rather than its label.

Wrapping up #

The Widget Builder Tabs field turns state styling into a tidy panel pattern: define normal and hover once, mirror the child names, and your CSS reads {{ states.normal.bg }} against {{ states.hover.bg }} with nothing else changing. For repeating content rather than paired states, the Repeater field is the structural sibling to reach for. Explore the rest of the Master Addons widgets and extensions, and see the pricing page for what each plan includes.

What are your Feelings

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on August 6, 2026
HeadingRepeater
Table of Contents
  • What the Tabs field does
  • Before you start
  • How to add a Tabs field
  • Tabs field options explained
  • Read tab values through nested paths
  • Use the Tabs control in Elementor
  • Common use cases
  • Tips for working with the Tabs field
  • Frequently Asked Questions
    • What is the Tabs field in the Master Addons Widget Builder?
    • How do I read a value from a specific tab?
    • Can I loop over the tabs in my template?
    • Can two tabs contain fields with the same name?
    • How do I build the usual Normal and Hover styling?
    • Why does my tab field's token print nothing?
  • Wrapping up

Join 30,000+ Web Creators Who Trust Master Addons

Get all the premium widgets and templates you desire, built with clean code that keeps your site fast. Ditch the bloat, not the features.

Try Live Demo
Join The Community
Master Addons for Elementor

80+ Premium Widgets & Lifetime Updates – Build Beyond Limits. An Exclusive Creation by Pixar Labs

Facebook-f Twitter Youtube Wordpress
Features
  • Template kits
  • Template Library
  • Widget Builder
  • Theme Builder
  • Mega Menu Builder
Support
  • Support Forum
  • Contact US
  • Join Community
  • Blog
  • Video Reviews
Resources
  • My Account
  • Changlogs
  • Documentation
  • Video Tutorials
  • Toolz.dev
Navigate
  • Apply for Affiliate
  • Terms of Use
  • Refund Policy
  • Privacy Policy
  • About Us