多媒体查询 @media 报错

Posted on 2019-12-11 21:41  嗷呜~  阅读(969)  评论(1编辑  收藏  举报

You may not @extend an outer selector from within @media.
You may only @extend selectors within the same directive.

在使用多媒体查询时

@media screen and (max-width: 700px){
      .user-name {
          margin: rem(10px) rem(8px) 0;
          font-size: rem(12px);
          line-height: 1.2;
          text-align: center;
          color: $chat-nav-status-off-line;
          @extend %ellipse-two-line;
       }
    
}

 

报错:You may not @extend an outer selector from within @media.
You may only @extend selectors within the same directive.

原因是:多媒体查询里不能用外部扩展选择器   @extend 

@media之类的指令中使用@extend有一些限制Sass无法通过将@media之外的CSS规则应用于其中的选择器。这意味着,如果@media(或其他CSS指令)中使用@extend,则只能扩展出现在同一指令块中的选择器。

@extend指令用于共享规则和选择器之间的关系。

它可以扩展所有其他类的样式在一个类中,也可应用于自己特定的样式。

如下scss@extend示例:

.style{
    font-size: 30px;
    font-style: italic;
}

h2{
    color: #787878;
    @extend .style

}
.container{
    @extend h2
}

编译后的css代码如下:

.style, h2, .container {
    font-size: 30px;
    font-style: italic;
 }

h2, .container {
    color: #787878;
}

参考文章:https://www.cnblogs.com/ibabyli/p/9874775.html  作者:  栗子壳