与牧同行-小程序用户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

468 lines
7.6 KiB

.container {
min-height: 100vh;
background-color: #f5f7fa;
padding-bottom: 40rpx;
}
/* 头部样式 */
.header {
background: linear-gradient(135deg, #1a5f23 0%, #2d8c3c 100%);
color: white;
padding: 40rpx 30rpx 30rpx;
border-radius: 0 0 30rpx 30rpx;
box-shadow: 0 4rpx 20rpx rgba(26, 95, 35, 0.2);
}
.title-section {
margin-bottom: 20rpx;
}
.page-title {
font-size: 48rpx;
font-weight: bold;
display: block;
margin-bottom: 10rpx;
}
.page-subtitle {
font-size: 28rpx;
opacity: 0.9;
}
.date-info {
font-size: 24rpx;
text-align: right;
opacity: 0.8;
}
/* 搜索区域 */
.search-section {
background-color: white;
margin: -20rpx 30rpx 30rpx;
border-radius: 20rpx;
padding: 30rpx;
box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.06);
}
.search-box {
display: flex;
align-items: center;
background-color: #f5f7fa;
border-radius: 50rpx;
margin-bottom: 30rpx;
}
.search-icon {
width: 36rpx;
height: 36rpx;
margin: 0 20rpx;
}
.search-input {
flex: 1;
height: 80rpx;
font-size: 28rpx;
}
.placeholder-style {
color: #999;
}
/* 筛选区域 */
.filter-scroll {
white-space: nowrap;
width: 100%;
}
.filter-tag {
display: inline-block;
padding: 16rpx 30rpx;
margin-right: 20rpx;
background-color: #f5f7fa;
border-radius: 40rpx;
font-size: 26rpx;
color: #666;
}
.filter-tag.active {
background-color: #2d8c3c;
color: white;
}
/* 政策列表 */
.policy-list {
padding: 0 30rpx;
}
.policy-card {
background-color: white;
border-radius: 20rpx;
padding: 30rpx;
margin-bottom: 30rpx;
box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.06);
transition: transform 0.3s, box-shadow 0.3s;
}
.policy-card:active {
transform: translateY(-4rpx);
box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.1);
}
.policy-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
}
.policy-tag {
font-size: 22rpx;
padding: 6rpx 20rpx;
border-radius: 20rpx;
background-color: #e8f4ea;
color: #1a5f23;
}
.policy-tag.financial {
background-color: #e8f4ea;
color: #1a5f23;
}
.policy-tag.technology {
background-color: #e8f0fb;
color: #1a5b8c;
}
.policy-tag.insurance {
background-color: #fff7e6;
color: #d48806;
}
.policy-tag.environment {
background-color: #e6f7ff;
color: #006d75;
}
.policy-date {
font-size: 24rpx;
color: #999;
}
.policy-title {
font-size: 30rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
line-height: 1.4;
}
.policy-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 25rpx;
padding-top: 20rpx;
border-top: 1rpx solid #eee;
}
.policy-source {
font-size: 24rpx;
color: #999;
}
.policy-arrow {
width: 26rpx;
height: 26rpx;
}
/* 空状态 */
.empty-state {
text-align: center;
padding: 80rpx 30rpx;
}
.empty-text {
display: block;
font-size: 32rpx;
color: #999;
margin-bottom: 15rpx;
}
.empty-tip {
font-size: 26rpx;
color: #ccc;
}
/* 政策详情弹窗 */
.modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
opacity: 0;
visibility: hidden;
transition: all 0.3s;
}
.modal.show {
opacity: 1;
visibility: visible;
}
.modal-content {
background-color: white;
width: 90%;
max-height: 80vh;
border-radius: 20rpx;
overflow: hidden;
transform: translateY(50rpx);
transition: transform 0.3s;
}
.modal.show .modal-content {
transform: translateY(0);
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx;
border-bottom: 1rpx solid #eee;
background-color: #f9f9f9;
}
.modal-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
flex: 1;
margin-right: 20rpx;
}
.modal-close {
font-size: 50rpx;
color: #999;
width: 60rpx;
height: 60rpx;
text-align: center;
line-height: 50rpx;
}
.modal-body {
max-height: 60vh;
padding: 30rpx;
box-sizing: border-box;
}
.policy-info-row {
background-color: #f9f9f9;
border-radius: 12rpx;
padding: 20rpx;
margin-bottom: 30rpx;
}
.info-item {
margin-bottom: 15rpx;
}
.info-label {
font-size: 26rpx;
color: #999;
margin-right: 10rpx;
}
.info-value {
font-size: 26rpx;
color: #333;
font-weight: 500;
}
.section {
margin-bottom: 40rpx;
}
.section-title {
font-size: 30rpx;
font-weight: bold;
color: #1a5f23;
margin-bottom: 20rpx;
padding-bottom: 10rpx;
border-bottom: 2rpx solid #e8f4ea;
}
.section-content {
font-size: 28rpx;
color: #333;
line-height: 1.6;
}
.key-point {
margin-bottom: 15rpx;
padding-left: 20rpx;
position: relative;
}
.key-point:before {
content: "";
position: absolute;
left: 0;
top: 16rpx;
width: 8rpx;
height: 8rpx;
background-color: #2d8c3c;
border-radius: 50%;
}
.interpretation-text {
text-align: justify;
}
.modal-footer {
display: flex;
padding: 30rpx;
border-top: 1rpx solid #eee;
gap: 20rpx;
}
.btn {
flex: 1;
height: 80rpx;
line-height: 80rpx;
border-radius: 40rpx;
font-size: 28rpx;
}
.btn::after{
border: none;
}
.btn-secondary {
background-color: #f5f7fa;
color: #666;
border:1px solid rgb(243, 241, 241);
}
/* 底部提示 */
.bottom-tip {
text-align: center;
padding: 30rpx;
}
.tip-text {
display: block;
font-size: 24rpx;
color: #999;
margin-bottom: 10rpx;
}
/* 在原有样式基础上添加以下样式 */
/* 清空按钮样式 */
.clear-btn {
width: 40rpx;
height: 40rpx;
line-height: 36rpx;
text-align: center;
background-color: #ccc;
color: white;
border-radius: 50%;
font-size: 30rpx;
margin-right: 20rpx;
font-weight: bold;
}
/* 滚动容器 */
.policy-list {
padding: 0 30rpx;
box-sizing: border-box;
}
/* 加载更多样式 */
.loading-more, .no-more {
text-align: center;
padding: 40rpx 0;
color: #999;
font-size: 26rpx;
}
.loading-more {
display: flex;
align-items: center;
justify-content: center;
}
.loading-text {
margin-left: 10rpx;
}
.loading-more::before {
content: "";
width: 30rpx;
height: 30rpx;
border: 3rpx solid #f3f3f3;
border-top: 3rpx solid #2d8c3c;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.no-more-text {
color: #ccc;
font-size: 24rpx;
}
/* 确保政策卡片样式不变 */
.policy-card {
background-color: white;
border-radius: 20rpx;
padding: 30rpx;
margin-bottom: 30rpx;
box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.06);
transition: transform 0.3s, box-shadow 0.3s;
}
.policy-card:active {
transform: translateY(-4rpx);
box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.1);
}
/* 加载状态 */
.empty-state {
text-align: center;
padding: 100rpx 30rpx;
}
.empty-text {
display: block;
font-size: 32rpx;
color: #999;
margin-bottom: 15rpx;
}
.empty-tip {
font-size: 26rpx;
color: #ccc;
}