sassCore
sassCore copied to clipboard
mixin文件的inline-block
// inline-block // ie6-7 _display: inline;_zoom:1; @mixin inline-block ($extend:true) { @if $extend { @extend %inline-block; } @else { display: inline-block; @if $lte7 { _display: inline;_zoom:1; } } } %inline-block{ @include inline-block(false); }
以上说库中对 inline-block的定义,理解了一下,感觉在自己绕圈子呢?以下是为我的分析: 分几种情况: 一:调用 @include inline-block,执行 @mixin里的条件true,再执行 %inline-block,再执行 @mixin 里的条件false,最终是执行 @mixin里的条件 false; 二:跳用 @include inline-block(false),直接调用 @mixin里的条件 false; 三:调用 %inline-block,直接调用 @mixin里的条件 false;
以上就是所有的调用方式,但是最终都是调用 @mixin里的条件 false;
不知道还有其他调用方式吗?
如你介绍一样,@mixin 和 % 在sass解析成css的时候不一样,但是在用gulp等自动化工具将css合并压缩css为一行的时候,也会自动组合css样式的,那么这个问题是否可以忽略呢?
$lte7 : false;
@import "../sassCore/function";
div{ @include inline-block; }
a{ @include inline-block; }
.div1{ @extend %inline-block; }
.div2{ @extend %inline-block; }
以上是我测试的scss,以下解析的是 div, a, .div1, .div2 { display: inline-block; }
好像解析的都是一样的呢??