Files
points-mall/supplied-h5/src/skeleton-view/components/ProfileSkeleton.vue
T

83 lines
1.4 KiB
Vue

<template>
<main class="profile-skeleton">
<section class="hero-line">
<div class="avatar-line"></div>
<van-skeleton title :row="1" />
</section>
<section class="asset-line">
<div class="coin-line"></div>
<van-skeleton title :row="1" />
</section>
<section v-for="item in 2" :key="item" class="panel-line">
<van-skeleton title :row="2" />
<div class="icon-row">
<span v-for="icon in 5" :key="icon"></span>
</div>
</section>
</main>
</template>
<script>
export default {
name: 'ProfileSkeleton'
}
</script>
<style scoped lang="less">
.profile-skeleton {
min-height: 100vh;
padding: 18px 10px 92px;
background: #f7f7f7;
}
.hero-line {
min-height: 164px;
padding: 68px 18px 28px;
border-radius: 0 0 16px 16px;
background: #f2eefc;
}
.avatar-line {
width: 52px;
height: 52px;
float: left;
margin-right: 12px;
border-radius: 50%;
background: #fff;
}
.asset-line,
.panel-line {
margin-top: 12px;
padding: 16px;
border-radius: 8px;
background: #fff;
}
.asset-line {
display: flex;
gap: 12px;
}
.coin-line {
width: 64px;
height: 64px;
flex: none;
border-radius: 50%;
background: #fff0e8;
}
.icon-row {
display: flex;
justify-content: space-between;
margin-top: 18px;
}
.icon-row span {
width: 42px;
height: 42px;
border-radius: 12px;
background: #f2f3f5;
}
</style>