vue-material/src/components/mdButton/mdButton.scss

233 lines
4.3 KiB
SCSS

@import '../../core/variables.scss';
$button-width: 88px;
$button-height: 36px;
$button-radius: 2px;
$button-fab-size: 56px;
$button-fab-size-mini: 40px;
$button-dense-height: 32px;
$button-icon-size: 40px;
.md-button {
min-width: $button-width;
min-height: $button-height;
margin: 6px 8px;
padding: 0 16px;
display: inline-block;
position: relative;
align-items: center;
overflow: hidden;
user-select: none;
cursor: pointer;
outline: none;
background: none;
border: 0;
border-radius: $button-radius;
transition: $swift-ease-out;
color: currentColor;
font-family: inherit;
font-size: 14px;
font-style: inherit;
font-variant: inherit;
font-weight: 500;
line-height: $button-height;
text-align: center;
text-transform: uppercase;
text-decoration: none;
vertical-align: top;
white-space: nowrap;
&:focus {
outline: none;
}
&:hover {
&:not([disabled]) {
&:not(.md-raised) {
background-color: rgba(#999, .2);
text-decoration: none;
}
&.md-raised {
background-color: rgba(#000, .12);
}
}
}
&:active:not([disabled]) {
background-color: rgba(#999, .4);
}
&[disabled] {
color: rgba(#000, .26);
cursor: default;
&.md-raised {
background-color: rgba(#000, .12);
}
}
&:after {
transition: $swift-ease-out;
}
&.md-raised:not([disabled]) {
box-shadow: $material-shadow-2dp;
}
&.md-icon-button {
min-width: $button-icon-size;
height: $button-icon-size;
margin: 0 6px;
padding: 8px;
border-radius: 50%;
line-height: 24px;
&:not([disabled]) {
&:hover {
background: none;
}
}
&.md-dense {
height: $button-dense-height;
min-height: $button-dense-height;
padding: 0;
line-height: $button-dense-height;
font-size: 13px;
}
.md-tooltip {
&.md-tooltip-top {
margin-top: -8px;
}
&.md-tooltip-right {
margin-left: 8px;
}
&.md-tooltip-bottom {
margin-top: 8px;
}
&.md-tooltip-left {
margin-left: -8px;
}
}
.md-ink-ripple {
border-radius: 50%;
}
.md-ripple.md-active {
animation-duration: .9s;
}
}
&.md-dense {
min-height: $button-dense-height;
line-height: $button-dense-height;
font-size: 13px;
}
&.md-fab {
width: $button-fab-size;
height: $button-fab-size;
min-width: 0;
padding: 0;
overflow: hidden;
box-shadow: $material-shadow-2dp;
border-radius: $button-fab-size;
line-height: $button-fab-size;
vertical-align: middle;
background-clip: padding-box;
transition: $swift-ease-in;
transition-property: background-color,
box-shadow,
transform;
&:hover,
&:focus {
box-shadow: $material-shadow-5dp;
}
&.md-fab-top-right {
position: absolute;
top: 16px;
right: 16px;
}
&.md-fab-top-left {
position: absolute;
top: 16px;
left: 16px;
}
&.md-fab-bottom-right {
position: absolute;
right: 16px;
bottom: 16px;
}
&.md-fab-bottom-left {
position: absolute;
left: 16px;
bottom: 16px;
}
&.md-mini {
width: $button-fab-size-mini;
height: $button-fab-size-mini;
line-height: $button-fab-size-mini;
}
.md-ink-ripple {
border-radius: $button-fab-size;
}
}
.md-ink-ripple {
border-radius: $button-radius;
background-clip: padding-box;
overflow: hidden;
//-webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC');
}
}
.md-button-group {
width: auto;
display: flex;
> .md-button {
margin: 0;
overflow: hidden;
border-width: 1px 0 1px 1px;
border-radius: 0;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
&:first-child {
border-radius: 2px 0 0 2px;
}
&:last-child {
border-right-width: 1px;
border-radius: 0 2px 2px 0;
}
.md-ink-ripple {
border-radius: $button-radius;
}
}
}
.md-button.md-icon-button,
.md-button.md-fab {
md-icon {
display: block;
}
}