The Dimensions option adds a sophisticated spacing control to your custom widget, allowing users to set values for multiple sides of an element (Top, Right, Bottom, Left) simultaneously. It is primarily used for CSS properties like margin, padding, and border width.
Why would someone use it in a custom widget? #
Use this control whenever you need to manage the spacing or size around or within an element in a structured way. It provides a professional, unified interface – similar to native Elementor widgets – for setting properties like padding and margin, saving you from creating four separate Number controls.
Where This Option Appears #
- In Widget Builder: You add this control in the Content tab.
- In the Elementor Editor: Once saved, it appears as the familiar “Dimensions” box with four linked input fields (for Top, Right, Bottom, Left) and a “link” icon to toggle between setting values collectively or individually.
Available Settings #
Here are the configurable settings for the Dimensions control:
Basic Settings #
- Label: The name of the control (e.g., “Padding”, “Margin”, “Border Width”).
- Name: The unique machine-readable ID (like
wrapper_padding) for the dynamic shortcode. - Description: Optional guiding text.
- Allowed Dimensions: Lets you select which sides (Top, Right, Bottom, Left) are available for the user to edit. You can show all four or just specific ones.
- Property Type: An advanced feature. You can leave it as Custom or select a specific CSS property (like
marginorpadding). This may help the builder automatically apply the values to the correct CSS rule. - Size Units: A checkbox list to define which CSS units (PX, %, EM, REM, VH, VW) are available for the user to choose from for each value.
- Default Value: Pre-defined values for each of the four sides (Top, Right, Bottom, Left).
Advanced Settings #
- Show Label, Label Block, Responsive Control: Standard options. Responsive Control is essential here, allowing different spacing on different devices.
- Dynamic Support: Allows the dimension values to be populated from a dynamic source.
- Frontend Available: When enabled, the dimension values are passed to your widget’s JavaScript.
- Separator, Conditions, Control Classes, Selector: Standard advanced options. The Selector is particularly important here to define which CSS element the dimensions should target.
Generated Shortcode #
When you add a Dimensions control with the Name content_padding, Widget Builder generates a shortcode: {{content_padding}}.
- What it represents: This shortcode outputs a structured set of values, likely in a shorthand CSS format (e.g.,
10px 20px 10px 20px) or as an object containing each side’s value and unit. - Where to use it: Primarily in the CSS Panel, as the value for a spacing-related property.
- CSS Panel:
.widget-content { padding: {{content_padding}}; } - The builder’s logic will translate the user’s input (like
10px,5%, etc. for each side) into a valid CSS string for the property.
- CSS Panel:
How to Use It: A Practical Example #
Let’s create a “Content Box” widget with fully customizable internal padding.
- In Widget Builder’s Content tab, add a Dimensions control.
- Set the Label to
Box Padding. - In Size Units, enable
PXand%to give users common choices. - In your CSS panel, apply it to the main container:
.custom-content-box {
padding: {{box_padding}};
background-color: #f5f5f5;
} - In the Elementor editor, users will see a dimension box. They can:
- Click the “link” icon to set all four sides to the same value (e.g.,
20px). - Unlink it and set each side independently (e.g., Top:
30px, Right:20px, Bottom:30px, Left:20px). - Choose different units for different sides (e.g., Top:
2%, Right:20px).
- Click the “link” icon to set all four sides to the same value (e.g.,
Common Use Cases #
- Padding & Margin Management: The most frequent use for controlling internal and external spacing.
- Border Width: Setting the width for all sides of a border.
- Element Positioning: Using in conjunction with
position: absolutefortop,right,bottom,leftvalues (if the Property Type supports it). - Responsive Spacing: Creating complex, device-specific layouts by enabling Responsive Control.
Helpful Tips #
- Choose “Allowed Dimensions” Wisely: If your widget only needs vertical (Top/Bottom) padding, you can disable Right and Left for a cleaner interface.
- Link by Default: For most use cases, having the sides linked by default is user-friendly. It lets users set a uniform value quickly and unlink only when needed.
- Use with the Correct Property: If you set the Property Type to a specific CSS property like
padding, ensure your CSS rule uses the same property. For custom use, you might need to map values manually (e.g.,top: {{spacing.TOP}};). - Test Unit Combinations: Ensure your widget’s CSS can handle mixed units (like
pxand%together) if you allow multiple units, as this can sometimes break layouts.
The Dimensions control is a fundamental tool for creating flexible, professionally-styled widgets that give users precise control over layout and spacing, mirroring the power of core Elementor design features.
Frequently Asked Questions #
What is the Dimensions control in the Master Addons Widget Builder?
The Dimensions control adds a four-sided spacing field to a custom widget, letting editors set Top, Right, Bottom, and Left values at once. It is mainly used for margin, padding, and border width. Added in the Content tab, it appears in Elementor as the familiar linked dimension box with a link icon.
How do I use the {{content_padding}} shortcode in my widget?
Place the token as the value of a spacing property in the CSS panel, for example .widget-content { padding: {{content_padding}}; }. The builder translates each side’s value and unit into a valid CSS shorthand string, so the editor’s input is applied directly to that property.
Can I limit which sides editors can edit?
Yes. The Allowed Dimensions setting lets you choose which of the Top, Right, Bottom, and Left fields appear. If your widget only needs vertical padding, you can show just Top and Bottom for a cleaner control.
Which size units can the Dimensions control offer?
The Size Units checkbox list lets you decide which CSS units are available, including PX, %, EM, REM, VH, and VW. Enable only the units your widget needs, and be aware that mixing units like px and % across sides can occasionally affect layouts.
Does the Dimensions control support responsive and per-device spacing?
Yes. Enable Responsive Control in the Advanced settings and editors can set different spacing for desktop, tablet, and mobile. This is essential for building layouts that adapt their padding or margins across screen sizes.
