Files
workspace/code/base-project/base-vue/packages/ao-design/src/badge/index.scss
T
2025-09-21 21:52:08 +08:00

84 lines
1.7 KiB
SCSS

@use '../_styles/_variables.scss' as *;
@use 'sass:color';
$badge-prefix: '#{$prefix}-badge';
.#{$badge-prefix} {
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
position: relative;
display: inline-block;
.#{$badge-prefix}-dot,
.#{$badge-prefix}-circle,
.#{$badge-prefix}-custom {
position: absolute;
top: 0;
right: 0;
color: $text-color-anti;
text-align: center;
font-size: 12px;
transform: translate(50%, -50%);
transform-origin: 100% 0;
box-sizing: content-box;
}
.#{$badge-prefix}-circle {
padding: 0px 6px;
min-width: 8px;
height: 20px;
background-color: $danger-color;
line-height: 20px;
border-radius: 10px;
box-shadow: 0 0 0 2px $bg-color-container;
}
.#{$badge-prefix}-dot {
right: 1px;
margin-top: 1px;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: $danger-color;
box-shadow: 0 0 0 2px $bg-color-container;
}
.#{$badge-prefix}-custom {
color: $text-color-base;
background-color: $bg-color-container;
}
.#{$badge-prefix}-ribbon {
margin: 0;
padding: 0 6px;
font-size: 14px;
line-height: 22px;
list-style: none;
position: absolute;
top: 8px;
white-space: nowrap;
background-color: $primary-color;
border-radius: 4px;
inset-inline-end: -8px;
border-end-end-radius: 0;
color: $primary-color;
&-text {
color: $text-color-anti;
}
&-corner {
position: absolute;
top: 100%;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 8px 8px 0 0;
border-color: currentColor transparent transparent transparent;
}
}
}