
Custom WordPress Styling with Stylus
Custom styling is a crucial part of WordPress theme and plugin development. While CSS is the standard way to style WordPress websites, Stylus, a powerful CSS preprocessor, offers more flexibility, efficiency, and maintainability.
In this guide, we’ll explore custom WordPress styling with Stylus, discuss the different ways to implement it, and provide a step-by-step guide to integrating Stylus into WordPress themes and plugins. Plus, we’ll answer some frequently asked questions (FAQs) to help you get started.
What is Stylus?
Stylus is a dynamic CSS preprocessor that simplifies writing and managing CSS files with:
✔ Minimal syntax (no semicolons, colons, or curly brackets needed)
✔ Variables & mixins for reusable styling
✔ Nesting for structured stylesheets
✔ Automatic vendor prefixing (no need for -webkit-
, -moz-
, etc.)
✔ Functions & conditionals for advanced styling
These features make custom WordPress styling with Stylus highly efficient, scalable, and optimized.
Types of Custom WordPress Styling with Stylus
1. Theme Styling with Stylus
Stylus is used to customize WordPress themes, improving their maintainability and scalability.
✔ Best For: Custom WordPress theme development or modifying existing themes.
✔ Implementation: Compile Stylus to CSS and enqueue it in the theme’s functions.php
.
2. Plugin Styling with Stylus
Stylus-generated CSS is used to style WordPress plugins, including frontend UI components and admin settings pages.
✔ Best For: Custom plugin styling with scalable CSS architecture.
✔ Implementation: Compile Stylus and enqueue it in the plugin.
3. Gutenberg Block Styling with Stylus
Stylus is used to style Gutenberg blocks, ensuring that WordPress blocks look and function as expected.
✔ Best For: Developers building custom WordPress block-based themes.
✔ Implementation: Stylus styles are compiled and included inside block editor styles.
4. Admin Dashboard Styling with Stylus
Stylus can be used to customize the WordPress admin interface, making it more user-friendly and visually appealing.
✔ Best For: Custom WordPress admin panels, dashboards, or backend UI customization.
✔ Implementation: Stylus styles are enqueued in the WordPress admin panel.
How to Use Stylus for Custom WordPress Styling
Step 1: Install Stylus
Ensure Node.js is installed, then install Stylus globally:
npm install -g stylus
Verify the installation:
stylus -v
Step 2: Set Up a Stylus Folder in Your WordPress Theme
Inside your WordPress theme or plugin folder, create the following structure:
wp-content/themes/my-theme/
│── assets/
│ ├── stylus/
│ │ ├── style.styl
│ │ ├── variables.styl
│ │ ├── mixins.styl
│ ├── css/
│ │ ├── style.css
│── functions.php
│── style.css
Step 3: Write Stylus Styles (style.styl
)
Inside the stylus/
folder, create style.styl
:
@import "variables"
@import "mixins"
body
background: @primary-bg
color: @text-color
.button
rounded-button(@primary-color, 8px)
Step 4: Define Variables (variables.styl
)
@primary-bg = #f9f9f9
@primary-color = #0055a5
@text-color = #333
Step 5: Define Mixins (mixins.styl
)
rounded-button(color, radius)
background: color
border-radius: radius
padding: 10px 15px
color: white
cursor: pointer
Step 6: Compile Stylus to CSS
Run the following command to compile Stylus to CSS:
stylus assets/stylus/style.styl -o assets/css/style.css
This generates a CSS file that can be used in WordPress.
Step 7: Enqueue Stylus Compiled CSS in WordPress
Open your functions.php
file and add the following code:
function my_theme_enqueue_styles() {
wp_enqueue_style('custom-stylus-style', get_template_directory_uri() . '/assets/css/style.css');
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles');
Step 8: (Optional) Enqueue Stylus CSS for Admin Panel
If you’re styling the WordPress admin dashboard, add:
function my_admin_stylus_styles() {
wp_enqueue_style('admin-stylus-style', get_template_directory_uri() . '/assets/css/style.css');
}
add_action('admin_enqueue_scripts', 'my_admin_stylus_styles');
Best Practices for Custom WordPress Styling with Stylus
✔ Use Variables and Mixins – Make your styles reusable and maintainable.
✔ Minify CSS Output – Use the -c
flag for minification:
stylus -c assets/stylus/style.styl -o assets/css/style.css
✔ Use Source Maps – Enable source maps for debugging:
stylus --sourcemap assets/stylus/style.styl -o assets/css/style.css
✔ Optimize Load Times – Enqueue CSS only where necessary to improve performance.
Frequently Asked Questions (FAQs)
1. Why use Stylus for WordPress instead of CSS or SASS?
Stylus offers a simplified syntax, advanced features, and built-in functions that make writing and managing CSS easier.
2. Can I use Stylus in WordPress without compiling it?
No, Stylus must be compiled into CSS before WordPress can use it.
3. How do I automate Stylus compilation in WordPress?
Use Gulp or Webpack to watch for file changes and auto-compile Stylus:
npm install --save-dev gulp gulp-stylus
Create a gulpfile.js
:
const gulp = require('gulp');
const stylus = require('gulp-stylus');
gulp.task('styles', function () {
return gulp.src('assets/stylus/style.styl')
.pipe(stylus({ compress: true }))
.pipe(gulp.dest('assets/css'));
});
gulp.task('watch', function () {
gulp.watch('assets/stylus/**/*.styl', gulp.series('styles'));
});
Run:
gulp watch
This automatically compiles Stylus whenever changes are made.
4. Can I use Stylus with WordPress page builders like Elementor or Gutenberg?
Yes, you can use Stylus-generated CSS inside Elementor’s Custom CSS or Gutenberg block styles.
5. Does Stylus affect my website’s performance?
No, since Stylus is compiled before deployment, it does not impact performance.
6. Can I use Stylus to style WooCommerce?
Yes! You can customize WooCommerce styles using Stylus and enqueue the compiled CSS in your theme.
Conclusion
Custom WordPress styling with Stylus is a powerful, efficient, and scalable approach to managing CSS in WordPress themes and plugins. By using variables, mixins, nesting, and automation, Stylus can help developers create clean, maintainable, and optimized stylesheets.
🚀 Start customizing your WordPress themes and plugins with Stylus today and enhance your development workflow!