Files
labweb/public/css/download.css
2025-12-16 11:39:15 +08:00

902 lines
17 KiB
CSS

.wrapper {
width: 90%;
margin: 0 auto;
box-sizing: border-box;
}
/* header */
.header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 5% 0 2%;
gap: 20px;
background-color: #2D6B7D;
}
.header .logo {
display: flex;
flex: 1 1 auto;
max-width: 55%;
min-width: 0;
align-items: center;
margin: 0;
border-radius: 20px;
font-size: 120%;
font-weight: 700;
}
.header .logo img {
height: 80px;
width: auto;
object-fit: contain;
display: block;
}
.header .logo .title {
margin-left: 2%;
width: auto;
display: flex;
flex-direction: row;
align-items: baseline;
gap: 8px;
flex-wrap: wrap;
overflow: hidden;
}
.header .logo .title h3 {
font-size: 110%;
color: white;
font-weight: 600;
margin: 0;
white-space: normal;
line-height: 1.2;
}
.header .logo .title p {
font-size: 80%;
color: white;
margin: 0;
white-space: normal;
line-height: 1.2;
}
.header .nev {
flex: 0 1 auto;
height: 100%;
min-width: 0;
}
.header .nev .nev-child-1 {
display: flex;
width: 100%;
height: 100%;
justify-content: flex-end;
align-items: center;
}
.header .nev-child-1 li {
padding: 1% 2%;
border-radius: 10px;
position: relative;
list-style: none;
}
/* 鼠标悬停导航栏 */
.header li:hover a {
color: black;
}
.header .icon-jiantou_shang {
display: none;
}
.header li:hover .icon-jiantou_xia {
display: none;
}
.header li:hover .icon-jiantou_shang {
display: inline-block;
}
/* 箭头图标对齐样式 */
.header .icon-jiantou_xia,
.header .icon-jiantou_shang {
font-size: 12px;
vertical-align: middle;
line-height: 1;
margin-left: 4px;
}
.header a {
font-size: 150%;
font-weight: 700;
color: white;
display: inline-flex;
align-items: center;
gap: 5px;
}
.header .nev-child-2 {
display: none;
position: absolute;
top: 70%;
left: 50%;
transform: translateX(-50%) translateY(-10px);
background: linear-gradient(135deg, #ffffff 0%, #f8fbfc 100%);
border-radius: 12px;
box-shadow: 0 12px 35px rgba(46, 90, 97, 0.2);
border: 1px solid rgba(46, 90, 97, 0.08);
overflow: hidden;
z-index: 9999;
opacity: 0;
visibility: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 8px;
min-width: 200px;
}
/* 下拉菜单顶部小箭头 */
.header .nev-child-2::before {
content: '';
position: absolute;
top: -8px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid #ffffff;
filter: drop-shadow(0 -2px 4px rgba(46, 90, 97, 0.1));
}
.header .nev-child-2 li {
width: 100%;
background-color: transparent;
text-align: left;
border-bottom: 1px solid rgba(46, 90, 97, 0.08);
font-weight: 400;
transition: all 0.2s ease;
}
.header .nev-child-2 li:nth-last-child(1) {
border-bottom: none;
}
.header .nev-child-2 li a {
display: flex;
align-items: center;
padding: 14px 10px;
color: #2E5A61;
text-decoration: none;
font-size: 100%;
font-weight: 500;
position: relative;
transition: all 0.2s ease;
white-space: nowrap;
}
.header .nev-child-2 li a:before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0;
z-index: -1;
}
.header .nev-child-2 li:hover {
background-color: rgba(71, 183, 190, 0.05);
transform: translateX(3px);
}
.header .nev-child-2 li:hover a {
color: #2E5A61;
}
.header .nev-child-2 li:hover a:before {
width: 4px;
}
/* 每个菜单项的特色样式 */
.header .nev-child-2 li:nth-child(1):hover {
background: linear-gradient(90deg, rgba(255, 193, 7, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(2):hover {
background: linear-gradient(90deg, rgba(220, 53, 69, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(3):hover {
background: linear-gradient(90deg, rgba(255, 87, 34, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(4):hover {
background: linear-gradient(90deg, rgba(76, 175, 80, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(5):hover {
background: linear-gradient(90deg, rgba(156, 39, 176, 0.1), transparent);
}
/* 菜单项动画序列 */
.header li:hover .nev-child-2 li {
animation: slideInFromLeft 0.3s ease forwards;
opacity: 0;
transform: translateX(-20px);
}
.header li:hover .nev-child-2 li:nth-child(1) { animation-delay: 0.1s; }
.header li:hover .nev-child-2 li:nth-child(2) { animation-delay: 0.15s; }
.header li:hover .nev-child-2 li:nth-child(3) { animation-delay: 0.2s; }
.header li:hover .nev-child-2 li:nth-child(4) { animation-delay: 0.25s; }
.header li:hover .nev-child-2 li:nth-child(5) { animation-delay: 0.3s; }
@keyframes slideInFromLeft {
to {
opacity: 1;
transform: translateX(0);
}
}
/* 下拉菜单显示动画 */
.header li:hover .nev-child-2 {
display: block;
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.content {
background-color: #eff5ff;
padding: 20px 0;
width: 100%;
}
/* 页面标题区域 */
.download-header {
text-align: center;
padding: 60px 0 40px 0;
background: linear-gradient(135deg, #f8fbfc 0%, #ffffff 100%);
margin-bottom: 40px;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(46, 90, 97, 0.1);
}
.page-title {
font-size: 2.5em;
color: #2E5A61;
margin-bottom: 16px;
font-weight: 700;
text-shadow: 0 2px 4px rgba(46, 90, 97, 0.1);
}
.page-subtitle {
font-size: 1.2em;
color: #666;
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}
/* 下载统计区域 */
.download-stats {
display: flex;
justify-content: center;
gap: 60px;
margin-bottom: 50px;
padding: 30px;
background: linear-gradient(135deg, #2E5A61 0%, #47b7be 100%);
border-radius: 15px;
box-shadow: 0 8px 25px rgba(46, 90, 97, 0.2);
}
.stat-item {
text-align: center;
color: white;
}
.stat-number {
font-size: 2.2em;
font-weight: 700;
margin-bottom: 8px;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.stat-label {
font-size: 1em;
opacity: 0.9;
font-weight: 500;
}
/* 下载卡片容器 */
.download-container {
padding: 20px 0;
background-color: #fff;
border-radius: 8px;
border: 1px solid rgba(46, 90, 97, 0.1);
}
/* 下载卡片 */
.download-card {
padding: 15px 15%;
position: relative;
margin: 20px 0;
}
/* 卡片图标 */
.card-icon {
width: 60px;
height: 60px;
background: linear-gradient(135deg, #47b7be, #2E5A61);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
box-shadow: 0 4px 15px rgba(71, 183, 190, 0.3);
}
.card-title {
font-size: 1.4em;
color: #2E5A61;
margin-bottom: 12px;
font-weight: 600;
line-height: 1.3;
}
.card-description {
color: #666;
line-height: 1.6;
margin-bottom: 20px;
}
.card-info {
display: flex;
flex-wrap: wrap;
gap: 15px;
}
.info-item {
display: flex;
align-items: center;
gap: 6px;
color: #888;
background: rgba(46, 90, 97, 0.05);
padding: 6px 12px;
border-radius: 20px;
}
.info-item i {
font-size: 12px;
color: #47b7be;
}
.card-content {
width: 75%;
}
/* 下载按钮 */
.card-actions {
text-align: center;
position: absolute;
right: 18%;
top: 10%;
}
.download-btn {
background: linear-gradient(135deg, #47b7be 0%, #2E5A61 100%);
color: white;
border: none;
padding: 12px 30px;
border-radius: 25px;
font-weight: 600;
font-size: 110%;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
}
.download-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(71, 183, 190, 0.4);
background: linear-gradient(135deg, #2E5A61 0%, #47b7be 100%);
}
.download-btn:active {
transform: translateY(0);
}
.category-select {
padding: 12px 16px;
border: 2px solid #e0e0e0;
border-radius: 8px;
font-size: 14px;
background: white;
color: #333;
cursor: pointer;
transition: all 0.3s ease;
outline: none;
}
.category-select:focus {
border-color: #47b7be;
box-shadow: 0 0 0 3px rgba(71, 183, 190, 0.1);
}
.category-select:hover {
border-color: #47b7be;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.download-grid {
grid-template-columns: repeat(2, 1fr);
gap: 30px;
}
}
@media (max-width: 1024px) {
.download-grid {
grid-template-columns: 1fr;
gap: 30px;
}
.category-selector {
gap: 12px;
}
}
@media (max-width: 768px) {
.download-grid {
gap: 20px;
}
.download-card {
padding: 25px 20px;
}
.category-selector {
gap: 10px;
}
.select-group label {
font-size: 13px;
}
.category-select {
padding: 10px 12px;
font-size: 13px;
}
/* .download-btn.primary {
padding: 12px 25px;
font-size: 14px;
} */
/* .download-btn.secondary {
padding: 10px 20px;
font-size: 13px;
} */
}
/* 使用说明区域 */
.usage-info {
background: linear-gradient(135deg, #f8fbfc 0%, #ffffff 100%);
padding: 50px 40px;
border-radius: 16px;
box-shadow: 0 4px 15px rgba(46, 90, 97, 0.1);
border: 1px solid rgba(46, 90, 97, 0.08);
}
.section-title {
text-align: center;
font-size: 2em;
color: #2E5A61;
margin-bottom: 40px;
font-weight: 600;
}
.info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}
.info-card {
text-align: center;
padding: 30px 20px;
background: white;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(46, 90, 97, 0.08);
transition: all 0.3s ease;
}
.info-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 25px rgba(46, 90, 97, 0.15);
}
.info-icon {
width: 50px;
height: 50px;
background: linear-gradient(135deg, #47b7be, #2E5A61);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px auto;
box-shadow: 0 4px 15px rgba(71, 183, 190, 0.3);
}
.info-icon i {
font-size: 22px;
color: white;
}
.info-card h3 {
font-size: 1.2em;
color: #2E5A61;
margin-bottom: 15px;
font-weight: 600;
}
.info-card p {
color: #666;
line-height: 1.6;
font-size: 14px;
}
/* 下载提示 Toast */
.download-toast {
position: fixed;
top: 20px;
right: 20px;
background: linear-gradient(135deg, #47b7be, #2E5A61);
color: white;
padding: 15px 25px;
border-radius: 8px;
box-shadow: 0 8px 25px rgba(71, 183, 190, 0.3);
display: flex;
align-items: center;
gap: 10px;
z-index: 10000;
transform: translateX(100%);
opacity: 0;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.download-toast.show {
transform: translateX(0);
opacity: 1;
}
.download-toast i {
font-size: 18px;
}
/* copyright */
.copyright {
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
}
.copyright .bottom {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
margin: 0 auto;
padding-top: 40px;
padding-bottom: 40px;
background-color: #1E3A4A;
}
.copyright .bottom p {
margin: 0 20px;
color: white;
}
/* 响应式设计 */
@media (max-width: 768px) {
.download-header {
padding: 40px 20px 30px 20px;
margin-bottom: 30px;
}
.page-title {
font-size: 2em;
}
.page-subtitle {
font-size: 1.1em;
padding: 0 20px;
}
.download-stats {
flex-direction: column;
gap: 20px;
padding: 25px 20px;
margin-bottom: 30px;
}
.download-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.download-card {
padding: 25px 20px;
}
.card-info {
flex-direction: column;
gap: 10px;
}
.info-item {
justify-content: center;
}
.usage-info {
padding: 40px 20px;
}
.section-title {
font-size: 1.6em;
margin-bottom: 30px;
}
.info-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.download-toast {
right: 10px;
left: 10px;
transform: translateY(-100%);
}
.download-toast.show {
transform: translateY(0);
}
}
@media (max-width: 480px) {
.download-stats {
gap: 15px;
padding: 20px 15px;
}
.stat-number {
font-size: 1.8em;
}
.download-card {
padding: 20px 15px;
}
.card-title {
font-size: 1.2em;
}
.download-btn {
padding: 10px 25px;
font-size: 13px;
}
}
/* 加载动画 */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Header响应式设计 */
/* 1550px及以下 - 防止logo和nav重叠 */
@media (max-width: 1550px) {
.header {
padding: 0.5% 1.5%;
gap: 15px;
}
.header .logo {
max-width: 50%;
}
.header .logo img {
height: 75px;
}
.header .logo .title {
margin-left: 1.5%;
}
.header .logo .title h3 {
font-size: 105%;
}
.header .logo .title p {
font-size: 75%;
}
.header .nev-child-1 {
gap: 12px;
}
.header .nev-child-1 li {
padding: 1% 1.5%;
}
.header a {
font-size: 130%;
}
}
/* 1350px及以下 - 进一步优化空间 */
@media (max-width: 1350px) {
.header .logo {
max-width: 48%;
}
.header .logo img {
height: 70px;
}
.header .logo .title h3 {
font-size: 100%;
}
.header .logo .title p {
font-size: 70%;
}
.header .nev-child-1 {
gap: 10px;
}
.header a {
font-size: 120%;
}
}
/* 1200px及以下 */
@media (max-width: 1200px) {
.header {
padding: 1% 2%;
flex-wrap: wrap;
gap: 15px;
}
.header .logo {
max-width: 45%;
}
.header .logo img {
height: 65px;
}
.header .logo .title {
margin-left: 10px;
}
.header .logo .title h3 {
font-size: 95%;
}
.header .logo .title p {
font-size: 68%;
}
.header .nev-child-1 {
gap: 8px;
}
.header .nev-child-1 li {
padding: 1% 1.2%;
}
.header a {
font-size: 110%;
}
/* 调整下拉菜单定位 */
.header .nav-tools .tools-dropdown,
.header .nav-help .help-dropdown {
left: 50%;
}
}
@media (max-width: 992px) {
.header {
flex-direction: column;
align-items: center;
gap: 15px;
padding: 1.5% 2%;
}
.header .logo {
max-width: 90%;
justify-content: center;
}
.header .nev {
width: 100%;
}
.header .nev-child-1 {
justify-content: center;
flex-wrap: wrap;
gap: 12px;
}
}
@media (max-width: 768px) {
.header {
padding: 2% 1.5%;
}
.header .logo {
max-width: 100%;
}
.header .logo img {
height: 60px;
}
.header .logo .title h3 {
font-size: 90%;
}
.header .logo .title p {
font-size: 70%;
}
.header .nev-child-1 li {
padding: 8px 15px;
}
.header a {
font-size: 110%;
}
}
@media (max-width: 480px) {
.header .logo img {
height: 50px;
}
.header .logo .title h3 {
font-size: 85%;
}
.header .logo .title p {
display: none;
}
.header .nev-child-1 {
gap: 8px;
}
.header .nev-child-1 li {
padding: 6px 10px;
}
.header a {
font-size: 100%;
}
}