Sass 检查body类的SCS的混合

Sass 检查body类的SCS的混合,sass,Sass,是否可以创建一个mixin(在SCSS中),该mixin根据body类(或父div)检查并添加样式 我们的梦想是改变这一点: #logo { position: absolute; top: 50px; left: 20px; } body.admin-bar #logo { #logo { top: 86px; @media screen and (max-width: 782px) { top: 92px; } } } 。。。

是否可以创建一个mixin(在SCSS中),该mixin根据body类(或父div)检查并添加样式

我们的梦想是改变这一点:

#logo {
  position: absolute;
  top: 50px;
  left: 20px;
} 

body.admin-bar #logo {

  #logo {
    top: 86px;

    @media screen and (max-width: 782px) {
      top: 92px;
    }
  }
}
。。。对此

#logo {
  position: absolute;
  @include adminAdjustedTop( 50px );
  left: 20px;
} 

因此,如果
主体
具有类
管理栏
,那么
管理调整top
mixin会在顶部添加额外的像素。。。因此,徽标的定位没有在两个不同的位置进行描述,这取决于设置或不设置哪个车身类别

实现此目标无需混入,您只需使用
&

#logo {
  position: absolute;
  top: 50px;
  left: 20px; 
  body.admin-bar & {
    top: 86px;
    @media screen and (max-width: 782px) {
      top: 92px;
    }
  }
} 

实现这一目标不需要mixin,您只需使用
&

#logo {
  position: absolute;
  top: 50px;
  left: 20px; 
  body.admin-bar & {
    top: 86px;
    @media screen and (max-width: 782px) {
      top: 92px;
    }
  }
}