ufutx-pc-website/src/views/Dating/sections/PainPoints.vue

128 lines
3.0 KiB
Vue

<template>
<section class="pain-points">
<div class="pain-points-group">
<h2 class="section-title">婚恋市场痛点重构</h2>
<div class="points-grid">
<div v-for="(item, i) in points" :key="i" class="point-card">
<div class="hero-section">
<div class="point-icon">
<img :src="item.icon" alt="痛点图标" />
</div>
</div>
<div class="text-section">
<p class="point-title">{{ item.title }}</p>
<p class="point-desc">{{ item.desc }}</p>
</div>
</div>
</div>
</div>
</section>
</template>
<script setup lang="ts">
const points = [
{
icon: 'https://images.health.ufutx.com/202506/18/2bf6cfbc4fef2c4d8e276e95398405a0.png',
title: '传统婚介困境',
desc: '效率低/规则混乱'
},
{
icon: 'https://images.health.ufutx.com/202506/18/2bf6cfbc4fef2c4d8e276e95398405a0.png',
title: '资料真假难辨',
desc: '生物特征+社交轨迹验证'
},
{
icon: 'https://images.health.ufutx.com/202506/18/2bf6cfbc4fef2c4d8e276e95398405a0.png',
title: '匹配维度单一',
desc: '多维度开放模型'
},
{
icon: 'https://images.health.ufutx.com/202506/18/2bf6cfbc4fef2c4d8e276e95398405a0.png',
title: '售后服务缺失',
desc: '关系认证及延伸服务'
}
]
</script>
<style scoped lang="less">
@import '@/styles/global.less';
.pain-points {
padding: 30px 192px;
text-align: center;
background: #f6f8fe;
.pain-points-group {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 20px;
border-radius: 16px;
background: rgba(255, 255, 255, 0.6);
/* 底部导航 0.8透模糊 */
backdrop-filter: blur(25px);
}
.section-title {
font-size: @font-size-xxl;
font-weight: bold;
color: @text-color;
margin-bottom: 50px;
.mt(50px);
}
.points-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
margin: 0 auto;
.pb(20px);
@media (max-width: @tablet-breakpoint) {
grid-template-columns: repeat(2, 1fr);
}
@media (max-width: @mobile-breakpoint) {
grid-template-columns: 1fr;
}
}
.point-card {
background: #fff;
border-radius: @border-radius-lg;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
overflow: hidden;
.hero-section {
padding: 50px 80px;
background-color: #cedff8;
}
.point-icon {
width: 200px;
height: 200px;
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
.text-section {
padding: 16px 30px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 10px;
background-color: #e4eefb;
align-items: start;
.point-title {
font-size: @font-size-lg;
font-weight: bold;
color: @text-color;
}
.point-desc {
font-size: @font-size-lg;
color: @text-color-secondary;
}
}
}
}
</style>