BEM mixin

原文来自:snippets.barretlee.com,只是为了自己学习收集特意fork了一遍。如有侵权,联系删除:i@webcliwn.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/// Block Element
/// @access public
/// @param {String} $element - Element's name
@mixin element($element) {
&__#{$element} {
@content;
}
}

/// Block Modifier
/// @access public
/// @param {String} $modifier - Modifier's name
@mixin modifier($modifier) {
&--#{$modifier} {
@content;
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.block {
/* CSS declarations for `.block` */

@include element('element') {
/* CSS declarations for `.block__element` */
}

@include modifier('modifier') {
/* CSS declarations for `.block--modifier` */

@include element('element') {
/* CSS declarations for `.block--modifier__element` */
}
}
}