99 lines
1.9 KiB
SCSS
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 */
|
|
}
|