Files
2025-12-09 02:45:30 +08:00

225 lines
3.6 KiB
Plaintext

.page-container {
padding-bottom: 50rpx;
background-color: #f9fafb;
min-height: 100vh;
}
.header {
background-color: #2563eb;
padding: 40rpx 30rpx 80rpx 30rpx;
border-bottom-left-radius: 40rpx;
border-bottom-right-radius: 40rpx;
position: relative;
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30rpx;
}
.greeting {
color: rgba(255, 255, 255, 0.9);
font-size: 28rpx;
}
.title {
color: white;
font-size: 40rpx;
font-weight: bold;
}
.bell-btn {
background-color: rgba(255, 255, 255, 0.2);
padding: 15rpx;
border-radius: 50%;
color: white;
font-size: 30rpx;
}
.search-bar {
position: absolute;
bottom: -40rpx;
left: 30rpx;
right: 30rpx;
background-color: white;
border-radius: 30rpx;
padding: 20rpx 30rpx;
display: flex;
align-items: center;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
}
.search-bar input {
margin-left: 20rpx;
flex: 1;
font-size: 28rpx;
color: #374151;
}
.search-placeholder {
color: #9ca3af;
}
.content-body {
padding: 60rpx 30rpx 0 30rpx;
}
.banner {
background: linear-gradient(to right, #fb923c, #ef4444);
border-radius: 30rpx;
padding: 30rpx;
color: white;
position: relative;
overflow: hidden;
box-shadow: 0 8rpx 16rpx rgba(239, 68, 68, 0.2);
margin-bottom: 40rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.banner-circle {
width: 100rpx;
height: 100rpx;
background-color: rgba(255, 255, 255, 0.2);
border-radius: 50%;
position: absolute;
right: -20rpx;
bottom: -20rpx;
filter: blur(20rpx);
}
.banner-title {
font-size: 36rpx;
font-weight: bold;
margin-bottom: 10rpx;
}
.banner-desc {
font-size: 24rpx;
opacity: 0.9;
margin-bottom: 20rpx;
}
.banner-btn {
background-color: white;
color: #f97316;
font-size: 24rpx;
padding: 10rpx 24rpx;
border-radius: 30rpx;
display: inline-block;
font-weight: bold;
}
.section {
margin-bottom: 40rpx;
}
.section-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
}
.section-title {
font-size: 32rpx;
font-weight: bold;
color: #1f2937;
}
.see-all {
font-size: 24rpx;
color: #9ca3af;
}
.categories-scroll {
white-space: nowrap;
width: 100%;
}
.categories-list {
display: flex;
}
.category-item {
padding: 16rpx 40rpx;
border-radius: 40rpx;
font-size: 28rpx;
margin-right: 20rpx;
font-weight: 500;
}
.projects-list {
display: flex;
flex-direction: column;
gap: 30rpx;
}
.project-card {
background-color: white;
padding: 24rpx;
border-radius: 30rpx;
box-shadow: 0 4rpx 10rpx rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: row;
gap: 24rpx;
}
.project-image {
width: 192rpx;
height: 192rpx;
border-radius: 20rpx;
flex-shrink: 0;
background-color: #eee;
}
.project-info {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.project-category-tag {
font-size: 20rpx;
color: #3b82f6;
background-color: #eff6ff;
padding: 4rpx 12rpx;
border-radius: 8rpx;
display: inline-block;
align-self: flex-start;
margin-bottom: 8rpx;
}
.project-title {
font-size: 28rpx;
font-weight: bold;
color: #1f2937;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
margin-bottom: 8rpx;
}
.project-meta {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: auto;
}
.meta-item {
font-size: 20rpx;
color: #9ca3af;
display: flex;
align-items: center;
}
.icon {
margin-right: 4rpx;
}