EASYAIuniappNewUI/node_modules/@tuniao/tnui-vue3-uniapp/theme-chalk/src/avatar.scss
2025-02-08 18:50:38 +08:00

99 lines
1.9 KiB
SCSS

@use 'sass:map';
@use '../mixins/mixins' as *;
@use '../var/size.scss' as *;
$avatar-sizes: () !default;
$avatar-sizes: map.merge(
(
'sm': 50rpx,
'': 70rpx,
'lg': 90rpx,
'xl': 120rpx,
),
$avatar-sizes
);
$avatar-icon-sizes: () !default;
$avatar-icon-sizes: map.merge(
(
'sm': 28rpx,
'': 40rpx,
'lg': 50rpx,
'xl': 70rpx,
),
$avatar-icon-sizes
);
@include b(avatar) {
display: inline-block;
align-items: center;
justify-content: center;
position: relative;
transition: margin-left 0.25s linear;
width: map-get($avatar-sizes, '');
height: map-get($avatar-sizes, '');
/* 头像类型 start */
@include e(image) {
width: 100%;
height: 100%;
border-radius: inherit;
.image {
width: 100%;
height: 100%;
border-radius: inherit;
will-change: transform;
}
}
@include e(icon) {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
font-size: map-get($avatar-icon-sizes, '');
}
@include e(custom) {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
font-size: map-get($avatar-icon-sizes, '');
}
/* 头像类型 end */
/* 头像形状 start */
@include m('circle') {
border-radius: 50%;
// overflow: hidden;
}
@include m('square') {
border-radius: 12rpx;
}
/* 头像形状 end */
/* 尺寸 start */
@each $size in $tn-inner-sizes {
@include m($size) {
width: map-get($avatar-sizes, $size);
height: map-get($avatar-sizes, $size);
/* 当为图标头像时对应的尺寸 start */
@include e(icon) {
font-size: map-get($avatar-icon-sizes, $size);
}
@include e(custom) {
font-size: map-get($avatar-icon-sizes, $size);
}
/* 当为图标头像时对应的尺寸 end */
}
}
/* 尺寸 end */
}