LESS是否具有与Sass中的@content指令类似的功能?

LESS是否具有与Sass中的@content指令类似的功能?,less,mixins,Less,Mixins,我试图将一个更“高级”的混音从SASS转换为较少但不成功的混音 这是混音器: .breakpoint(@point) { @if @point == really big{ @media (max-width: 80em) { @content; } } @if @point == mid { @media (max-width: 60em) { @content; } } @if @point == small { @media (max-widt

我试图将一个更“高级”的混音从SASS转换为较少但不成功的混音

这是混音器:

.breakpoint(@point) {
  @if @point == really big{
    @media (max-width: 80em) { @content; } 
  }
  @if @point == mid {
    @media (max-width: 60em) { @content; }
  }
  @if @point == small {
    @media (max-width: 42em) { @content; } 
  }
} 
还有一个,我没碰这个:

@mixin keyframes( $animationName )
{
    @-webkit-keyframes $animationName {
        @content;
    }
    @-moz-keyframes $animationName {
        @content;
    }
    @-o-keyframes $animationName {
        @content;
    }
    @keyframes $animationName {
        @content;
    }
}

更新

在回答这个问题之前,我没有检查@Harry在评论中提供的示例代码。这个示例代码也提供了一个很好的解决问题的方法。另请参阅:

首先请注意,Less不支持if/else构造(如adds.
if()(if-then-[else])
,但使用保护创建条件混合,另请参见:

或另行考虑

您的mixin还使用
@内容您称之为@content指令,我认为您应该将其与“将规则集传递给mixin”进行比较,请参见:

第一次使用模式匹配进行混音:

.breakpoint(reallybig;@content)
{
@media (max-width: 80em) { @content(); }
}
.breakpoint(mid;@ruleset)
{
@media (max-width: 80em) { @content(); }
}
调用方示例:

.breakpoint(reallybig; {p{color:red;}});
你的第一次混血:

.breakpoint(@size;@content) when (@size = 'really big')
{
@media (max-width: 80em) { @content(); }
}
.breakpoint(mid;@ruleset) when (default())
{
@media (max-width: 80em) { @content(); }
}


.breakpoint('really big'; {p{color:red;}});
还有你的第二次混音:

.keyframes(@animationName;@animation)
{
    @-webkit-keyframes @animationName {
        @animation();
    }
    @-moz-keyframes @animationName {
        @animation();
    }
    @-o-keyframes @animationName {
        @animation();
    }
    @keyframes @animationName {
        @animation();
    }

}


@animation: {0% {
    left: 0;
    transform: translate(10px, 20px);
  }
  100% {
    left: 100%;
    transform: translate(100px, 200px);
  }};

.keyframes(test;@animation);

检查答案中解释的方法是否有助于转换。是从SASS到Less的转换示例。这与我在上面的评论中提到的另一个问题非常相似,因此我没有添加单独的解释。如果您在理解上有任何困难,我将在回答中添加更多细节。每次只关注一个问题:您是否关心翻译
@内容
@If
?+1 mate。很好,您还介绍了规则集到mixin的传递,因为这是我没有介绍的。对于未来的读者来说,了解如何使用mixin动态分配规则,而不是在规则集中使用静态变量,会更有帮助。