YO 库版本:0.1.2 moduleVersion
一个基于 Sass 开发的 CSS Framework,Mobile First 的设计理念使得 Yo 的体积超轻量,同时又能延伸到支持PC端。
一个基于 Sass 开发的 CSS Framework,Mobile First 的设计理念使得 Yo 的体积超轻量,同时又能延伸到支持PC端。
@charset "utf-8"; @import "../core/variables"; @import "../core/classes"; @import "../element/yo-btn"; // 定义btnbar的基础构造 @mixin _btnbar { display: inline-block; vertical-align: middle; > .yo-btn { float: left; &:not(:first-child) { margin-left: -.01rem !important; } &:first-child { // 如果按钮有圆角,那么去掉第一个按钮的右侧圆角 @if map-get($btn, radius) != 0 { border-top-right-radius: 0; border-bottom-right-radius: 0; } // 如果工具栏定义了圆角,那么不管按钮有没有左侧圆角,都重绘 @if map-get($btnbar, radius) != auto and map-get($btnbar, radius) != map-get($btn, radius) { border-top-left-radius: map-get($btnbar, radius); border-bottom-left-radius: map-get($btnbar, radius); } } &:last-child { // 如果按钮有圆角,那么去掉最后一个按钮的左侧圆角 @if map-get($btn, radius) != 0 { border-top-left-radius: 0; border-bottom-left-radius: 0; } // 如果工具栏定义了圆角,那么不管按钮有没有右侧圆角,都重绘 @if map-get($btnbar, radius) != auto and map-get($btnbar, radius) != map-get($btn, radius) { border-top-right-radius: map-get($btnbar, radius); border-bottom-right-radius: map-get($btnbar, radius); } } &:not(:first-child):not(:last-child){ // 如果按钮有圆角,那么清除中间所有按钮的圆角 @if map-get($btn, radius) != 0 { border-radius: 0; } } } } /** * @module fragment * @method yo-btnbar * @description 构造按钮组的自定义使用方法 * @demo http://doyoe.github.io/Yo/demo/fragment/yo-btnbar.html * @param {String} $name 为新的扩展定义一个名称 * @param {Length} $radius 圆角半径长度 */ @mixin yo-btnbar( $name: default, $radius: default) { // 区别是否新增实例还是修改本身 @if $name == default { $name: ""; } @else { $name: "-#{$name}"; } // 如果值为default,则取config的定义 @if $radius == default { $radius: map-get($btnbar, radius); } .yo-btnbar#{$name} { > .yo-btn { // 如果工具栏定义了圆角且不等于config定义,则重绘圆角半径 @if $radius != map-get($btnbar, radius) { &:first-child { border-top-left-radius: $radius; border-bottom-left-radius: $radius; } &:last-child { border-top-right-radius: $radius; border-bottom-right-radius: $radius; } } } // 增量扩展 @content; } } // 调用本文件时载入btnbar基础构造 .yo-btnbar { @include _btnbar; }