/* 全局页面样式 */ body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; padding: 0; background-color: #f2f2f7; /* iOS风格的浅灰背景 */ } /* 头部样式 */ header { background-color: #ffffff; color: #333; padding: 20px; text-align: center; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* 轻微阴影 */ } /* 容器布局:包含侧边栏和主内容 */ .container { display: flex; height: calc(100vh - 70px); /* 视口高度减去头部高度 */ } /* 侧边栏样式 */ aside { width: 200px; background-color: #f2f2f7; color: #000; padding: 20px; height: 100%; } aside ul { list-style: none; padding: 0; } aside ul li { margin: 20px 0; cursor: pointer; } /* 主内容区域 */ main { flex: 1; /* 占据剩余宽度 */ padding: 20px; overflow-y: auto; /* 启用垂直滚动 */ } /* 瀑布流容器样式,每行最多显示4个卡片 */ .license-info-container { display: flex; flex-wrap: wrap; gap: 20px; /* 卡片之间的间距 */ } /* 卡片样式 */ .license-info-card { position: relative; width: calc(25% - 20px); /* 每行4个卡片,减去间距 */ background-color: #ffffff; /* 白色背景 */ border-radius: 15px; /* iOS风格的圆角 */ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05); /* 轻微柔和的阴影 */ overflow: hidden; transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; /* 过渡效果 */ margin-bottom: 20px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; /* iOS 系统字体 */ padding-bottom: 20px; /* 添加底部填充,以防止内容溢出 */ } /* 悬停效果 */ .license-info-card:hover { transform: translateY(-3px); /* 悬停时轻微向上浮动 */ box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1); /* 悬停时增加阴影效果 */ } /* 卡片顶部蓝色区域 */ .license-info-card-header { background-color: #007aff; /* iOS风格的蓝色 */ height: 50px; /* 顶部蓝色部分的高度 */ border-top-left-radius: 15px; border-top-right-radius: 15px; display: flex; justify-content: center; align-items: center; padding: 10px; text-align: center; color: white; /* 项目名称字体颜色为白色 */ } /* 标题样式:现在位于蓝色区域 */ .card-title { font-size: 20px; /* 标题字体加大 */ font-weight: 600; /* 标题字体加粗 */ color: white; /* 项目名称字体颜色为白色,和背景颜色形成对比 */ margin: 0; line-height: 1.2; /* 行间距 */ } /* 副标题和其他文本样式 */ .license-info-card-content { padding: 20px; color: #333; } .card-text { margin: 10px 0; /* 增加字段之间的间距 */ font-size: 18px; /* 提高字体大小 */ color: #3a3a3c; /* 中灰色,符合iOS风格 */ line-height: 1.6; /* 行间距调整,确保更好的可读性 */ } /* 许可证状态的颜色 */ .license-status-green { color: #34c759; /* iOS的绿色 */ } .license-status-yellow { color: #ffcc00; /* iOS的黄色 */ } .license-status-red { color: #ff3b30; /* iOS的红色 */ } /*这部分代码仅在设备屏幕宽度小于或等于 768 像素时生效 */ @media (max-width: 768px) { /* 小屏幕下卡片调整为每行显示2个 */ .license-info-card { width: calc(50% - 20px); height: auto; /* 调整小屏幕下的高度 */ } } /*-----------------*/ /* 响应式设计,适配小屏幕 */ @media (max-width: 768px) { .license-info-modal-content.show { width: 90vw; /* 在小屏设备中宽度为90% */ height: 90vh; /* 高度为90% */ } } /* 模态框样式,初始隐藏 */ .license-info-modal { display: none; /* 初始隐藏模态框 */ position: fixed; /* 固定位置,模态框将一直可见,随页面滚动保持位置 */ top: 0; left: 0; width: 100%; /* 宽度占据整个屏幕 */ height: 100%; /* 高度占据整个屏幕 */ background-color: rgba(0, 0, 0, 0.2); /* 半透明背景,模态框弹出时背景变暗 */ justify-content: center; /* 居中模态框水平 */ align-items: center; /* 居中模态框垂直 */ z-index: 1000; /* 保证模态框在所有元素之上显示 */ overflow: hidden; /* 禁止模态框背景滚动 */ } /* 模态框内容样式,带有圆角和阴影 */ .license-info-modal-content { background-color: white; /* 模态框内部背景色为白色 */ padding: 20px; /* 内部填充 */ border-radius: 20px; /* 设置较大的圆角,符合iOS风格 */ position: absolute; /* 使用绝对定位 */ transform-origin: center; /* 动画从中心展开 */ opacity: 0; /* 初始透明度为0,不可见 */ transition: opacity 0.3s ease, transform 0.3s ease; /* 使用渐变效果使模态框逐渐显示 */ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* 模态框阴影,增加浮动感 */ max-height: 80vh; /* 最大高度不超过视口的80% */ overflow-y: auto; /* 如果内容超出高度则滚动 */ } /* 模态框的初始缩放效果,配合过渡动画 */ .license-info-modal-content { transform: scale(0.95); /* 初始有轻微缩放效果 */ } /* 动画结束后的模态框样式,设置为80%大小且居中 */ .license-info-modal-content.show { opacity: 1; /* 动画显示模态框 */ width: 80vw; /* 宽度占据视口80% */ height: 70vh; /* 高度占据视口70% */ top: 50%; /* 垂直居中 */ left: 50%; /* 水平居中 */ transform: translate(-50%, -50%) scale(1); /* 完全居中,且带有缩放效果 */ } /* 关闭按钮样式 */ .license-info-close { position: absolute; /* 绝对定位,确保关闭按钮在模态框的右上角 */ top: 10px; right: 20px; font-size: 28px; /* 关闭按钮的字体大小 */ color: #007aff; /* iOS风格的蓝色 */ cursor: pointer; /* 鼠标悬停时显示手指图标 */ font-weight: 600; /* 设置按钮的字体粗细 */ } /* 模态框上半部分的样式 */ .license-info-modal-header { display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } /* 标题的 iOS 风格 */ .license-info-modal-header h2 { font-size: 24px; font-weight: 600; color: #333; margin-bottom: 10px; } /* 按钮组的样式 */ .license-info-modal-button-group { display: flex; justify-content: space-around; width: 100%; margin-top: 10px; } /* 组样式:每组数据方框 */ .license-info-group-box { border: 1px solid #ccc; /* 灰色边框 */ border-radius: 8px; /* 设置圆角 */ padding: 15px; /* 内部填充 */ margin-bottom: 15px; /* 组之间的间隔 */ background-color: #f9f9f9; /* 设置浅灰色背景 */ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* 设置轻微的阴影 */ } .license-info-group-box p { margin: 5px 0; font-size: 16px; color: #333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; /* 符合 iOS 风格的字体 */ } .license-info-group-title { font-weight: 600; margin-bottom: 10px; color: #007aff; /* iOS 风格的蓝色标题 */ } .license-info-modal-button { padding: 12px 20px; background-color: #007aff; /* iOS风格的蓝色按钮 */ color: white; /* 按钮字体颜色为白色 */ border: none; border-radius: 12px; /* 设置圆角按钮 */ font-size: 16px; font-weight: 500; cursor: pointer; /* 鼠标悬停时显示手指图标 */ transition: background-color 0.3s ease; /* 背景颜色过渡效果 */ } .license-info-modal-button:hover { background-color: #005bb5; /* 按钮的悬停效果 */ } /* 模态框下半部分的样式 */ .license-info-modal-body { overflow-y: auto; /* 当内容超出容器时,启用垂直滚动条 */ flex-grow: 1; /* 占据模态框的剩余空间 */ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: #3a3a3c; /* 字体颜色为深灰色 */ font-size: 18px; line-height: 1.6; /* 行高 */ } /* 添加滚动条样式,符合iOS的滑动效果 */ .license-info-modal-body::-webkit-scrollbar { width: 6px; } .license-info-modal-body::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.2); border-radius: 3px; } /* 分页按钮组样式 */ .license-info-modal-pagination { display: flex; justify-content: center; margin-top: 20px; } .license-info-modal-pagination button { padding: 10px 15px; margin: 0 5px; background-color: #007aff; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; transition: background-color 0.3s ease; } .license-info-modal-pagination button:hover { background-color: #005bb5; /* 鼠标悬停时按钮背景颜色变深 */ } .license-info-modal-pagination button:disabled { background-color: #ccc; /* 禁用时按钮为灰色 */ cursor: not-allowed; } /* 分页下拉框样式 */ .license-info-modal-pagination select { padding: 10px 15px; margin: 0 5px; background-color: #007aff; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; transition: background-color 0.3s ease; } /* 下拉框中的选项样式 */ .license-info-modal-pagination select option { background-color: white; /* 默认背景颜色 */ color: black; /* 默认字体颜色 */ } /* 鼠标悬停选项时 */ .license-info-modal-pagination select option:hover { background-color: #007aff; /* 鼠标悬停时选项变为蓝色 */ color: white; /* 悬停时字体颜色变为白色 */ } /* 选中的选项的样式 */ .license-info-modal-pagination select option:checked { background-color: #ccc; /* 当前选中的选项背景为蓝色 */ color: white; /* 当前选中的选项字体颜色为白色 */ } /* 活跃菜单项样式 */ nav ul li a.active { background-color: #007aff; color: white; } /* 用户管理模态框------------------------------------------------------ */ /* 用户管理模态框的背景层 */ /* 响应式设计,适配小屏幕 */ /* 用户管理模态框的背景层 */