热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何创建支持内容块的Sassmixin别名?

如何解决《如何创建支持内容块的Sassmixin别名?》经验,为你挑选了1个好方法。

如何为同一个mixin定义多个名称并支持内容块?

定义

@mixin desktop-breakpoint {
   @media only screen and (min-width: 769px) {
      @content;
   }
}

@mixin large-breakpoint {
   @include desktop-breakpoint;
}

用法

.my-class {
   font-size: small;

   @include desktop-breakpoint {
      font-size: big;
   }
}

.my-other-class {
   color: red;

   @include large-breakpoint {
      color: blue;
   }
}

错误信息

Mixin“大断点”不接受内容块。

Terry.. 5

在mixin中@content使用时@include desktop-breakpoint,您不会传递任何东西large-breakpoint。这样做将解决您的编译错误:

@mixin large-breakpoint {
   // Remember to pass content received by mixin to @include
   @include desktop-breakpoint {
     @content;
   }
}

然后,您的CSS将按预期正确编译:

.my-class {
  font-size: small;
}
@media only screen and (min-width: 769px) {
  .my-class {
    font-size: big;
  }
}

.my-other-class {
  color: red;
}
@media only screen and (min-width: 769px) {
  .my-other-class {
    color: blue;
  }
}

请参阅基于修改后的代码的概念验证示例:https : //www.sassmeister.com/gist/3109af060293eed0b89a22c27fa20527



1> Terry..:

在mixin中@content使用时@include desktop-breakpoint,您不会传递任何东西large-breakpoint。这样做将解决您的编译错误:

@mixin large-breakpoint {
   // Remember to pass content received by mixin to @include
   @include desktop-breakpoint {
     @content;
   }
}

然后,您的CSS将按预期正确编译:

.my-class {
  font-size: small;
}
@media only screen and (min-width: 769px) {
  .my-class {
    font-size: big;
  }
}

.my-other-class {
  color: red;
}
@media only screen and (min-width: 769px) {
  .my-other-class {
    color: blue;
  }
}

请参阅基于修改后的代码的概念验证示例:https : //www.sassmeister.com/gist/3109af060293eed0b89a22c27fa20527


推荐阅读
author-avatar
唲戲2502873263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有