120 lines
2.6 KiB
Vue
120 lines
2.6 KiB
Vue
|
|
<template>
|
||
|
|
<div class="stats-bar-container">
|
||
|
|
<div class="stats-bar-item">
|
||
|
|
<span class="stats-number">150+</span>
|
||
|
|
<span class="stats-label">开源企业</span>
|
||
|
|
</div>
|
||
|
|
<div class="stats-divider"></div>
|
||
|
|
<div class="stats-bar-item">
|
||
|
|
<span class="stats-number">30+</span>
|
||
|
|
<span class="stats-label">高校参与</span>
|
||
|
|
</div>
|
||
|
|
<div class="stats-divider"></div>
|
||
|
|
<div class="stats-bar-item">
|
||
|
|
<span class="stats-number">120+</span>
|
||
|
|
<span class="stats-label">社区活动</span>
|
||
|
|
</div>
|
||
|
|
<div class="stats-divider"></div>
|
||
|
|
<div class="stats-bar-item">
|
||
|
|
<span class="stats-number">200+</span>
|
||
|
|
<span class="stats-label">开源项目</span>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<script>
|
||
|
|
export default {
|
||
|
|
name: "StatsBar"
|
||
|
|
}
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<style lang="scss" scoped>
|
||
|
|
.stats-bar-container {
|
||
|
|
/* 基础布局 */
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
flex-wrap: wrap;
|
||
|
|
width: 100%;
|
||
|
|
padding: 1.5rem 2rem;
|
||
|
|
margin-top: 1rem;
|
||
|
|
gap: 1rem;
|
||
|
|
|
||
|
|
/* 玻璃拟态增强 */
|
||
|
|
background: rgba(255, 255, 255, 0.1); // 降低透明度更显高级
|
||
|
|
-webkit-backdrop-filter: blur(12px) saturate(180%);
|
||
|
|
backdrop-filter: blur(12px) saturate(180%);
|
||
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
||
|
|
border-radius: 1.25rem;
|
||
|
|
|
||
|
|
/* 增加一个非常细微的内阴影,增加厚度感 */
|
||
|
|
box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.05),
|
||
|
|
0 8px 32px rgba(0, 0, 0, 0.1);
|
||
|
|
|
||
|
|
transition: all 0.3s ease;
|
||
|
|
|
||
|
|
&:hover {
|
||
|
|
background: rgba(255, 255, 255, 0.15);
|
||
|
|
border-color: rgba(255, 255, 255, 0.3);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.stats-bar-item {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
flex: 1;
|
||
|
|
min-width: 100px;
|
||
|
|
transition: transform 0.3s ease;
|
||
|
|
|
||
|
|
&:hover {
|
||
|
|
transform: translateY(-2px);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.stats-number {
|
||
|
|
/* 使用渐变色让数字更有科技感 */
|
||
|
|
background: #C8161D;
|
||
|
|
-webkit-background-clip: text;
|
||
|
|
-webkit-text-fill-color: transparent;
|
||
|
|
|
||
|
|
font-size: 1.75rem; // 略微调大
|
||
|
|
font-weight: 800;
|
||
|
|
letter-spacing: -0.02em;
|
||
|
|
line-height: 1.2;
|
||
|
|
}
|
||
|
|
|
||
|
|
.stats-label {
|
||
|
|
/* 颜色改为深灰带点蓝调,或者纯白(如果在深色背景下) */
|
||
|
|
color: #4b5563;
|
||
|
|
font-size: 0.875rem;
|
||
|
|
font-weight: 600;
|
||
|
|
margin-top: 0.25rem;
|
||
|
|
opacity: 0.9;
|
||
|
|
letter-spacing: 0.05em;
|
||
|
|
}
|
||
|
|
|
||
|
|
.stats-divider {
|
||
|
|
background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.3), transparent);
|
||
|
|
width: 1px;
|
||
|
|
height: 2.5rem;
|
||
|
|
flex-shrink: 0;
|
||
|
|
|
||
|
|
/* 在移动端隐藏分割线 */
|
||
|
|
@media (max-width: 640px) {
|
||
|
|
display: none;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 响应式微调 */
|
||
|
|
@media (max-width: 768px) {
|
||
|
|
.stats-bar-container {
|
||
|
|
padding: 1rem;
|
||
|
|
gap: 1.5rem;
|
||
|
|
}
|
||
|
|
.stats-number {
|
||
|
|
font-size: 1.5rem;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
</style>
|