naive-ui/styles/Badge.scss

164 lines
3.3 KiB
SCSS
Raw Normal View History

2019-08-07 11:40:23 +08:00
@import './mixins/mixins.scss';
@import './themes/vars.scss';
2019-08-07 11:40:23 +08:00
2019-10-08 19:06:23 +08:00
@keyframes n-number-fade-up-in {
from {
transform: translateY(60%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes n-number-fade-down-in {
from {
transform: translateY(-60%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes n-number-fade-up-out {
from {
transform: translateY(0%);
opacity: 1;
}
to {
transform: translateY(-60%);
opacity: 0;
}
}
@keyframes n-number-fade-down-out {
from {
transform: translateY(0%);
opacity: 1;
}
to {
transform: translateY(60%);
opacity: 0;
}
}
2019-10-09 00:43:02 +08:00
@keyframes n-number-slide-in {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
@keyframes n-number-slide-out {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
}
2019-10-08 19:06:23 +08:00
@include b(scroll-numbers) {
white-space: nowrap;
@include b(scroll-number) {
2019-10-09 00:43:02 +08:00
@include fade-up-width-expand-transition($duration: .2s);
2019-10-08 19:06:23 +08:00
display: inline-block;
position: relative;
2019-10-09 00:43:02 +08:00
height: 18px;
@include b(scroll-number-old-number) {
2019-10-08 19:06:23 +08:00
display: inline-block;
opacity: 0;
2019-10-09 00:43:02 +08:00
position: absolute;
left: 0;
2019-10-08 19:06:23 +08:00
@include m(top) {
transform: translateY(-100%);
}
@include m(bottom) {
transform: translateY(100%);
}
@include m(down-scroll) {
2019-10-09 00:43:02 +08:00
animation: n-number-fade-down-out .2s $fast-in-cubic-bezier;
2019-10-08 19:06:23 +08:00
animation-iteration-count: 1
}
@include m(up-scroll) {
2019-10-09 00:43:02 +08:00
animation: n-number-fade-up-out .2s $fast-in-cubic-bezier;
2019-10-08 19:06:23 +08:00
animation-iteration-count: 1
}
}
2019-10-09 00:43:02 +08:00
@include b(scroll-number-current-number) {
2019-10-08 19:06:23 +08:00
display: inline-block;
2019-10-09 00:43:02 +08:00
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
2019-10-08 19:06:23 +08:00
opacity: 1;
transform: translateY(0);
@include m(down-scroll) {
2019-10-09 00:43:02 +08:00
animation: n-number-fade-down-in .2s $fast-in-cubic-bezier;
2019-10-08 19:06:23 +08:00
animation-iteration-count: 1
}
@include m(up-scroll) {
2019-10-09 00:43:02 +08:00
animation: n-number-fade-up-in .2s $fast-in-cubic-bezier;
2019-10-08 19:06:23 +08:00
animation-iteration-count: 1
}
2019-10-09 00:43:02 +08:00
@include e(inner) {
display: inline-block;
position: absolute;
right: 0;
top: 0;
}
2019-10-08 19:06:23 +08:00
}
}
}
2019-10-08 14:36:04 +08:00
@mixin badge-type-mixin ($type) {
@include m($type + '-type') {
@include b(badge-sup) {
background-color: rgba(9, 133, 91, 1);
}
}
}
2019-08-07 11:40:23 +08:00
@include b(badge) {
display: inline-block;
position: relative;
vertical-align: middle;
2019-10-08 14:36:04 +08:00
@include m(dot) {
@include b(badge-sup) {
2019-08-07 11:40:23 +08:00
height: 8px;
width: 8px;
padding: 0;
min-width: 8px;
left: calc(100% - 4px);
bottom: calc(100% - 4px);
}
}
2019-10-09 00:43:02 +08:00
// @include badge-type-mixin('info');
// @include badge-type-mixin('success');
// @include badge-type-mixin('warning');
// @include badge-type-mixin('error');
2019-08-07 11:40:23 +08:00
}
@include b(badge-sup) {
2019-10-08 14:36:04 +08:00
@include fade-in-scale-up-transition(badge, left bottom);
2019-10-08 19:06:23 +08:00
overflow: hidden;
2019-10-08 14:36:04 +08:00
color: white;
2019-08-07 11:40:23 +08:00
user-select: none;
position: absolute;
height: 18px;
line-height: 18px;
border-radius: 9px;
2019-10-09 00:43:02 +08:00
background-color: rgb(232, 0, 0);// rgba(186, 45, 67, 1);
2019-08-07 11:40:23 +08:00
padding: 0 6px;
text-align: center;
font-size: 12px;
left: calc(100% - 8px);
bottom: calc(100% - 8px);
font-weight: bold;
}