Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
postcss-mixins
Advanced tools
The postcss-mixins package allows you to define and use mixins in your CSS, which can help you avoid code repetition and make your stylesheets more maintainable. Mixins are reusable chunks of code that you can include in other rulesets.
Defining and Using Mixins
You can define a mixin using the @mixin directive and then include it in other rulesets using the @include directive. This helps in reusing common styles across different selectors.
/* Define a mixin */
@mixin border-radius($radius) {
border-radius: $radius;
}
/* Use the mixin */
.button {
@include border-radius(5px);
}
Parameterizing Mixins
Mixins can accept parameters, allowing you to customize the output of the mixin for different use cases. This makes your mixins more flexible and powerful.
/* Define a mixin with parameters */
@mixin box-shadow($x, $y, $blur, $color) {
box-shadow: $x $y $blur $color;
}
/* Use the mixin with different parameters */
.card {
@include box-shadow(2px, 2px, 5px, rgba(0, 0, 0, 0.3));
}
.modal {
@include box-shadow(0, 4px, 10px, rgba(0, 0, 0, 0.5));
}
Conditional Logic in Mixins
You can include conditional logic within your mixins to handle different scenarios. This example shows how to create a responsive mixin that adjusts a property based on a breakpoint.
/* Define a mixin with conditional logic */
@mixin responsive($property, $value, $breakpoint) {
#{$property}: $value;
@media (min-width: $breakpoint) {
#{$property}: calc($value * 1.5);
}
}
/* Use the mixin */
.container {
@include responsive(width, 100px, 768px);
}
The postcss-extend package allows you to extend existing rulesets with additional styles, similar to the @extend directive in Sass. Unlike postcss-mixins, which focuses on reusable chunks of code, postcss-extend is more about inheriting styles from other selectors.
The postcss-nested package enables you to nest your CSS selectors in a way that follows the same visual hierarchy of your HTML. While postcss-mixins focuses on reusable code blocks, postcss-nested helps in organizing your CSS in a more readable and maintainable way.
The postcss-simple-vars package allows you to use variables in your CSS, similar to Sass variables. While postcss-mixins provides reusable code blocks, postcss-simple-vars focuses on simplifying the management of CSS values through variables.
PostCSS plugin for mixins.
Note, that you must set this plugin before postcss-simple-vars and postcss-nested.
@define-mixin icon $network, $color: blue {
.icon.is-$(network) {
color: $color;
@mixin-content;
}
.icon.is-$(network):hover {
color: white;
background: $color;
}
}
@mixin icon twitter {
background: url(twt.png);
}
@mixin icon youtube, red {
background: url(youtube.png);
}
.icon.is-twitter {
color: blue;
background: url(twt.png);
}
.icon.is-twitter:hover {
color: white;
background: blue;
}
.icon.is-youtube {
color: red;
background: url(youtube.png);
}
.icon.is-youtube:hover {
color: white;
background: red;
}
postcss-utilities collection is better for clearfix
and other popular hacks.
For simple cases you can use postcss-define-property.
Read full docs here.
11.0.0
fast-glob
to tinyglobby
to reduce dependencies (by @ziebam).mixinsFiles
(by @ziebam).FAQs
PostCSS plugin for mixins
We found that postcss-mixins demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.