我有一个 mixin——它比我以前做过的任何事情都要复杂一点,所以现在我遇到了一个我无法深入了解的问题。问题是永远不会创建默认值。我还明确添加了移动优先媒体查询,但这也不起作用。
.fluid-margin(@top; @right; @bottom; @left;)
{
.make-margin(@xs-gutter-width);
@media @sm-screen {
.make-margin(@sm-gutter-width);
}
@media @md-screen {
.make-margin(@md-gutter-width);
}
@media @lg-screen {
.make-margin(@lg-gutter-width);
}
.make-margin(@scale)
{
.make-margin(@scale) when (@top > 0)
{
margin-top:@scale * @top;
}
.make-margin(@scale) when (@right > 0)
{
margin-right:@scale * @right;
}
.make-margin(@scale) when (@bottom > 0)
{
margin-bottom:@scale * @bottom;
}
.make-margin(@scale) when (@left > 0)
{
margin-left:@scale * @left;
}
}
}
输出
.list-section-header {
overflow: hidden;
text-align: center;
}
@media only screen and (min-width:600px) and (max-width:899px) {
.list-section-header {
margin-top: 2.25rem;
margin-bottom: 2.25rem;
}
}
@media only screen and (min-width:900px) and (max-width:1199px) {
.list-section-header {
margin-top: 2.25rem;
margin-bottom: 2.25rem;
}
}
@media only screen and (min-width:1200px) and (max-width:1280px) {
.list-section-header {
margin-top: 3rem;
margin-bottom: 3rem;
}
调用类
.fluid-margin(1.5rem; 0; 1.5rem; 0);