无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
/* | /* ====================== | ||
基础布局与网格系统 | |||
====================== */ | |||
.home-grid { | .home-grid { | ||
display: grid; | display: grid; | ||
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* 自适应列数,单卡最小300px */ | ||
gap: 20px; | gap: 20px; /* 卡片间距 */ | ||
padding: 20px; | padding: 20px; /* 容器内边距 */ | ||
box-sizing: border-box; | |||
} | } | ||
/* | /* ====================== | ||
卡片主体样式 | |||
====================== */ | |||
.home-card { | .home-card { | ||
overflow: hidden; | overflow: hidden; /* 溢出隐藏,配合圆角 */ | ||
background: var(--color-surface-2); | background: var(--color-surface-2); /* 背景色(取自星际公民维基设计) */ | ||
border: 1px solid var(--border-color-base); | border: 1px solid var(--border-color-base); /* 基础边框 */ | ||
border-radius: 15px; | border-radius: 15px; /* 15px圆角边框 */ | ||
box-shadow: | box-shadow: 0 3px 6px rgba(0,0,0,0.04), 0 3px 6px rgba(0,0,0,0.0575); /* 双层阴影 */ | ||
transition: all 0.3s | transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); /* 平滑过渡动画 */ | ||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; /* 垂直布局 */ | ||
} | } | ||
/* 卡片悬停效果 */ | |||
.home-card:hover { | .home-card:hover { | ||
transform: translateY(-5px); | transform: translateY(-5px); /* 上移5px */ | ||
border-color: var(--color-primary); | border-color: var(--color-primary); /* 边框变为主题色 */ | ||
box-shadow: 0 10px 20px rgba(0,0,0,0.1); | box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* 加深阴影 */ | ||
} | } | ||
/* | /* ====================== | ||
卡片内容区域样式 | |||
====================== */ | |||
/* 标题区域 */ | |||
.home-card__header { | .home-card__header { | ||
margin: 0; | margin: 0; | ||
padding: 15px 20px; | padding: 15px 20px; /* 内边距 */ | ||
background: var(--color-surface-3); | background: var(--color-surface-3); /* 次级背景色 */ | ||
border-bottom: 1px solid var(--border-color-base); | border-bottom: 1px solid var(--border-color-base); /* 底部边框 */ | ||
font-size: 1.2rem; | font-size: 1.2rem; /* 标题字号 */ | ||
font-weight: bold; | font-weight: bold; /* 粗体 */ | ||
} | } | ||
/* | /* 图片容器 */ | ||
.home-card .transport-card { | .home-card .transport-card { | ||
position: relative; | position: relative; | ||
height: 180px; | height: 180px; /* 图片高度 */ | ||
margin: 0; | margin: 0; | ||
border: none !important; | border: none !important; /* 移除默认边框 */ | ||
} | } | ||
.home-card .transport-image { | .home-card .transport-image { | ||
position: absolute; | position: absolute; | ||
inset: 0; | inset: 0; /* 等价于top/right/bottom/left:0 */ | ||
margin: 0; | margin: 0; | ||
border-radius: 0; | border-radius: 0; /* 图片区域无边角 */ | ||
overflow: hidden; | overflow: hidden; /* 图片溢出隐藏 */ | ||
} | } | ||
第54行: | 第63行: | ||
width: 100%; | width: 100%; | ||
height: 100%; | height: 100%; | ||
object-fit: cover; | object-fit: cover; /* 保持比例覆盖容器 */ | ||
transition: transform 0.5s cubic-bezier(0, 0.8, 0.2, 1); | transition: transform 0.5s cubic-bezier(0, 0.8, 0.2, 1); /* 图片缩放动画 */ | ||
} | } | ||
/* 图片悬停放大效果 */ | |||
.home-card .transport-image img:hover { | .home-card .transport-image img:hover { | ||
transform: scale(1.1); | transform: scale(1.1); /* 放大1.1倍 */ | ||
} | } | ||
/* | /* 文本内容区域 */ | ||
.home-card__text { | .home-card__text { | ||
margin: 0; | margin: 0; | ||
padding: 15px 20px; | padding: 15px 20px; /* 内边距 */ | ||
line-height: 1.6; | line-height: 1.6; /* 行高 */ | ||
flex-grow: 1; | flex-grow: 1; /* 自动填充剩余空间,保证卡片高度一致 */ | ||
} | } | ||
/* | /* ====================== | ||
按钮与交互样式 | |||
====================== */ | |||
/* 链接按钮容器 */ | |||
.home-link { | .home-link { | ||
margin: 0 20px 15px; | margin: 0 20px 15px; /* 边距 */ | ||
text-align: center; | text-align: center; /* 居中对齐 */ | ||
} | } | ||
/* 按钮样式 */ | |||
.home-link__button { | .home-link__button { | ||
display: inline-block; | display: inline-block; | ||
padding: 8px 16px; | padding: 8px 16px; /* 内边距 */ | ||
background: var(--color-primary); | background: var(--color-primary); /* 主题色背景 */ | ||
color: white; | color: white; /* 白色文字 */ | ||
border-radius: 8px; | border-radius: 8px; /* 圆角 */ | ||
text-decoration: none; | text-decoration: none; /* 移除下划线 */ | ||
transition: background 0.3s ease; | transition: background 0.3s ease; /* 背景色过渡动画 */ | ||
font-weight: 600; | font-weight: 600; /* 半粗体 */ | ||
} | } | ||
/* 按钮悬停效果 */ | |||
.home-link__button:hover { | .home-link__button:hover { | ||
background: var(--color-primary--hover); | background: var(--color-primary--hover); /* 深一级主题色 */ | ||
} | } | ||
/* | /* ====================== | ||
响应式布局适配 | |||
====================== */ | |||
/* 中等屏幕(1024px以下) */ | |||
@media (max-width: 1024px) { | @media (max-width: 1024px) { | ||
.home-grid { | .home-grid { | ||
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); | grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* 缩小单卡最小宽度 */ | ||
} | } | ||
} | } | ||
/* 小屏幕(768px以下) */ | |||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.home-grid { | .home-grid { | ||
grid-template-columns: 1fr; | grid-template-columns: 1fr; /* 单栏布局 */ | ||
padding: 10px; /* 缩小内边距 */ | |||
} | |||
.home-card .transport-card { | |||
height: 150px; /* 缩小图片高度 */ | |||
} | |||
} | |||
/* 超小屏幕(480px以下) */ | |||
@media (max-width: 480px) { | |||
.home-card__header { | |||
font-size: 1rem; /* 缩小标题字号 */ | |||
} | |||
.home-card__text, | |||
.home-link { | |||
padding: 10px; /* 缩小内容内边距 */ | |||
} | } | ||
} | } |
2025年6月18日 (三) 20:44的版本
/* ======================
基础布局与网格系统
====================== */
.home-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* 自适应列数,单卡最小300px */
gap: 20px; /* 卡片间距 */
padding: 20px; /* 容器内边距 */
box-sizing: border-box;
}
/* ======================
卡片主体样式
====================== */
.home-card {
overflow: hidden; /* 溢出隐藏,配合圆角 */
background: var(--color-surface-2); /* 背景色(取自星际公民维基设计) */
border: 1px solid var(--border-color-base); /* 基础边框 */
border-radius: 15px; /* 15px圆角边框 */
box-shadow: 0 3px 6px rgba(0,0,0,0.04), 0 3px 6px rgba(0,0,0,0.0575); /* 双层阴影 */
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); /* 平滑过渡动画 */
display: flex;
flex-direction: column; /* 垂直布局 */
}
/* 卡片悬停效果 */
.home-card:hover {
transform: translateY(-5px); /* 上移5px */
border-color: var(--color-primary); /* 边框变为主题色 */
box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* 加深阴影 */
}
/* ======================
卡片内容区域样式
====================== */
/* 标题区域 */
.home-card__header {
margin: 0;
padding: 15px 20px; /* 内边距 */
background: var(--color-surface-3); /* 次级背景色 */
border-bottom: 1px solid var(--border-color-base); /* 底部边框 */
font-size: 1.2rem; /* 标题字号 */
font-weight: bold; /* 粗体 */
}
/* 图片容器 */
.home-card .transport-card {
position: relative;
height: 180px; /* 图片高度 */
margin: 0;
border: none !important; /* 移除默认边框 */
}
.home-card .transport-image {
position: absolute;
inset: 0; /* 等价于top/right/bottom/left:0 */
margin: 0;
border-radius: 0; /* 图片区域无边角 */
overflow: hidden; /* 图片溢出隐藏 */
}
.home-card .transport-image img {
width: 100%;
height: 100%;
object-fit: cover; /* 保持比例覆盖容器 */
transition: transform 0.5s cubic-bezier(0, 0.8, 0.2, 1); /* 图片缩放动画 */
}
/* 图片悬停放大效果 */
.home-card .transport-image img:hover {
transform: scale(1.1); /* 放大1.1倍 */
}
/* 文本内容区域 */
.home-card__text {
margin: 0;
padding: 15px 20px; /* 内边距 */
line-height: 1.6; /* 行高 */
flex-grow: 1; /* 自动填充剩余空间,保证卡片高度一致 */
}
/* ======================
按钮与交互样式
====================== */
/* 链接按钮容器 */
.home-link {
margin: 0 20px 15px; /* 边距 */
text-align: center; /* 居中对齐 */
}
/* 按钮样式 */
.home-link__button {
display: inline-block;
padding: 8px 16px; /* 内边距 */
background: var(--color-primary); /* 主题色背景 */
color: white; /* 白色文字 */
border-radius: 8px; /* 圆角 */
text-decoration: none; /* 移除下划线 */
transition: background 0.3s ease; /* 背景色过渡动画 */
font-weight: 600; /* 半粗体 */
}
/* 按钮悬停效果 */
.home-link__button:hover {
background: var(--color-primary--hover); /* 深一级主题色 */
}
/* ======================
响应式布局适配
====================== */
/* 中等屏幕(1024px以下) */
@media (max-width: 1024px) {
.home-grid {
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* 缩小单卡最小宽度 */
}
}
/* 小屏幕(768px以下) */
@media (max-width: 768px) {
.home-grid {
grid-template-columns: 1fr; /* 单栏布局 */
padding: 10px; /* 缩小内边距 */
}
.home-card .transport-card {
height: 150px; /* 缩小图片高度 */
}
}
/* 超小屏幕(480px以下) */
@media (max-width: 480px) {
.home-card__header {
font-size: 1rem; /* 缩小标题字号 */
}
.home-card__text,
.home-link {
padding: 10px; /* 缩小内容内边距 */
}
}