Вы можете использовать миксин
@mixin no-padding(
$all: false,
$left: false,
$right: false,
$top: false,
$bottom: false,
) {
@if($all) {
padding: 0 !important;
}
@if($left) {
padding-left: 0 !important;
}
@if($right) {
padding-right: 0 !important;
}
@if($top) {
padding-top: 0 !important;
}
@if($bottom) {
padding-bottom: 0 !important;
}
}
Использование:
.no-padding--all {
@include no-padding($all: true);
}
.no-padding--left {
@include no-padding($left: true);
}
.padding--left-only {
@include no-padding($top: true, $right: true, $bottom: true);
}
.no-padding--vertical {
@include no-padding($left: true, $right: true);
}
Кроме того, это дает вам возможность и гибкость давать аргументы на ваш выбор, и вы можете писать гибкие классы , поэтому вам не нужно указывать несколько имен классов в HTML. (например: padding--left-only
, no-padding--vertical
)
Вы можете написать миксин для динамического присвоения свойства ( Я не рекомендую ).
@mixin no-property(
$property,
$all: false,
$left: false,
$right: false,
$top: false,
$bottom: false,
) {
@if($all) {
#{$property}: 0 !important;
}
@if($left) {
#{$property}-left: 0 !important;
}
@if($right) {
#{$property}-right: 0 !important;
}
@if($top) {
#{$property}-top: 0 !important;
}
@if($bottom) {
#{$property}-bottom: 0 !important;
}
}
использование:
.no-padding--left {
@include no-property($property: 'padding', $left: true);
}
.no-margin--right {
@include no-property($property: 'margin', $right: true);
}