我有一个基于 SCSS 的布局,我想在其中使用OOCSS 的间距模块。
OOCSS 模块是纯 CSS -ptl
例如,代表padding-top: large
,其中 large 是定义的值(默认为 20px)。
我想用 SCSS 来增强它。到目前为止,我已经能够用 SCSS 变量替换固定值,所以如果我想(我不想)可以在一个地方更改值:
$spacing-small: 5px;
$spacing-medium: 10px;
$spacing-large: 20px;
...
.pts,.pvs,.pas{padding-top:$spacing-small !important}
现在我希望能够使用ptn
,pvs
等作为 mixins,所以我可以这样做:
.client-name {
@include spacing-pvs; // this has the same padding properties as pvs
}
我的语法很灵活,但这是我感兴趣的功能。
我能想到的唯一方法是手动定义每个 mixin:
@mixin spacing-pvs {
padding-top: $spacing-small !important;
padding-bottom: $spacing-small !important;
}
.pvs { @include spacing-pvs; }
但是大约有 56 种样式/混合。像这样单独做每一个都很难编写和维护。
在 SASS/SCSS 中有没有更好的方法来做到这一点?