scss 用于BEM风格选择器的Mixins。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss 用于BEM风格选择器的Mixins。相关的知识,希望对你有一定的参考价值。

.media {
  border: 1px solid red;
}

.media__image {
  border: 1px solid green;
}

.media__image--full {
  content: "full";
}

.is-modifier .media__image {
  content: "modifier";
}

.page-header .media {
  content: "new";
}

.media--new {
  content: "new";
}
// ----
// libsass (v3.2.5)
// ----

// BEM Mixins for SASS
// http://www.sitepoint.com/structuring-css-class-selectors-with-sass/

@mixin new($block) {
  @at-root .#{$block} {
    @content;
  }
}

@mixin is($element) {
  .is-#{$element} & {
    @content;
  }
}
 
@mixin has($element) {
  &__#{$element} {
    @content;
  }
}
 
@mixin when($modifier) {
  &--#{$modifier} {
    @content;
  }
}

@mixin when-inside($selector) {
  #{$selector} & {
    @content;
  }
}


.media {
  border: 1px solid red;
  
  @include has("image") {
    border: 1px solid green;
    
    @include when('full') {
      content: "full";  
    }
    
    @include is('modifier') {
      content: "modifier";  
    }
    
  }
  
  @include when-inside('.page-header') {
    content: "new"
  }
  
  @include when('new') {
    content: "new"
  }
  
}

以上是关于scss 用于BEM风格选择器的Mixins。的主要内容,如果未能解决你的问题,请参考以下文章

scss 用于媒体查询的Sass mixins

scss 添加mixins用于个人响应大小。

scss 用于响应媒体查询的Mixins

Less基础

scss #sass我的一些用于SASS / Compass的goto mixins

scss SCSS mixins我在我的日常SCSS项目中使用。包含各种有用的mixin用于各种事物,例如,在'rem'中生成font-size