element-ui
Version:
A Component Library for Vue.js.
52 lines (44 loc) • 1.48 kB
CSS
@define-mixin button-variant $color, $background-color, $border-color {
color: $color;
background-color: $background-color;
border-color: $border-color;
&:hover,
&:focus {
background: tint($background-color, var(--button-hover-tint-percent));
border-color: tint($border-color, var(--button-hover-tint-percent));
color: $color;
}
&:active {
background: shade($background-color, var(--button-active-shade-percent));
border-color: shade($border-color, var(--button-active-shade-percent));
color: $color;
outline: none;
}
&.is-active {
background: shade($background-color, var(--button-active-shade-percent));
border-color: shade($border-color, var(--button-active-shade-percent));
color: $color;
}
&.is-plain {
background: var(--button-default-fill);
border: var(--border-base);
color: var(--button-default-color);
&:hover,
&:focus {
background: var(--color-white);
border-color: $border-color;
color: $background-color;
}
&:active {
background: var(--color-white);
border-color: shade($border-color, var(--button-active-shade-percent));
color: shade($background-color, var(--button-active-shade-percent));
outline: none;
}
}
}
@define-mixin button-size $padding-vertical, $padding-horizontal, $font-size, $border-radius {
padding: $padding-vertical $padding-horizontal;
font-size: $font-size;
border-radius: $border-radius;
}