Global Variables
Global CSS variables are defined on the:root selector and apply to all portfolio instances.
Location: assets/css/_variables-main.scss:4-24
Colors
Border & Radius
Gap & Spacing
--vp-items__gap variable is dynamically set based on the portfolio’s gap settings.
Transitions
Portfolio Container Variables
These variables apply to the.vp-portfolio container.
Location: assets/css/_variables-main.scss:31-38
Spinner Variables
Loader spinner customization. Location:assets/css/_variables-main.scss:40-47
Layout: Slider
Slider layout specific variables. Location:assets/css/_variables-slider.scss:4-38
Arrows
Bullets
Thumbnails
Slider Transitions
Items Style: Fade
Fade item style variables. Location:templates/items-list/items-style/fade/_variables.scss:4-63
Items Style: Fly
Fly item style variables. Location:templates/items-list/items-style/fly/_variables.scss:4-59
Popup Gallery Variables
Popup gallery CSS variables for PhotoSwipe and Fancybox. Location:assets/css/_variables-popup.scss:4-17
Practical Examples
Dark Theme Portfolio
Rounded Corners Design
Smooth Animations
Large Gaps
Custom Overlay Style
Target Specific Portfolio
Using in Custom CSS
Add custom CSS through WordPress Customizer or plugin settings: Settings > Visual Portfolio > Custom CSSDynamic Variables via PHP
Set CSS variables dynamically through filters:Browser Support
CSS Custom Properties are supported in:- Chrome 49+
- Firefox 31+
- Safari 9.1+
- Edge 15+
- iOS Safari 9.3+
- Android 5+
Best Practices
- Use inheritance - Define common values at root level, override as needed
- Stay organized - Group related variables together
- Use calc() - Perform calculations with variables:
calc(var(--base-size) * 2) - Fallback values - Provide fallbacks for older browsers:
background: var(--bg-color, #fff); - Meaningful names - Use descriptive variable names that indicate purpose
- Test thoroughly - Check custom values across different layouts and styles
- Document changes - Comment complex variable combinations