Yo : ./lib/widget/yo-index.scss
源代码
源代码
@charset "utf-8"; // 定义index的基础构造 @mixin _index { width: map-get($index, width); text-transform: uppercase; color: map-get($index, color); font-size: map-get($index, font-size); line-height: 1.1; text-align: center; .ellipsis { display: inline-block; @include square(map-get($index, font-size) / 2); border-radius: 50%; background-color: map-get($index, color); } } /** * @module widget * @method yo-index * @version 1.0.0 * @description 构造yo-index的自定义使用方法 * @demo http://doyoe.github.io/Yo/demo/widget/yo-index.html * @param {String} $name 定义扩展名称 <1.0.0> * @param {Length} $width 宽度 <1.0.0> * @param {Color} $color 文本色 <1.0.0> * @param {Length} $font-size 文本字号 <1.0.0> */ @mixin yo-index( $name: default, $width: default, $color: default, $font-size: default) { // 区别是否新增实例还是修改本身 $name: if($name == default, "", "-#{$name}"); // 如果值为default,则取config的定义 @if $width == default { $width: map-get($index, width); } @if $color == default { $color: map-get($index, color); } @if $font-size == default { $font-size: map-get($index, font-size); } .yo-index#{$name} { @if $width != map-get($index, width) { width: $width; } @if $color != map-get($index, color) { color: $color; } @if $font-size != map-get($index, font-size) { font-size: $font-size; } .ellipsis { @if $color != map-get($index, color) { background-color: $color; } @if $font-size != map-get($index, font-size) { @include square($font-size / 2); } } // 增量扩展 @content; } } // 调用本文件时载入index基础构造 .yo-index { @include _index; }