/* 后台样式 */ .flm-critical-warning { font-size: 16px !important; font-weight: bold !important; border-left: 5px solid #dc3232 !important; background-color: #fef7f7 !important; padding: 15px 20px !important; margin: 20px 0 25px 0 !important; box-shadow: 0 2px 8px rgba(220, 50, 50, 0.2) !important; border-radius: 4px !important; animation: flm-warning-pulse 2s infinite !important; } .flm-critical-warning p { margin: 0 !important; line-height: 1.5 !important; color: #dc3232 !important; } .flm-critical-warning strong { font-size: 18px !important; color: #b71c1c !important; } @keyframes flm-warning-pulse { 0% { box-shadow: 0 2px 8px rgba(220, 50, 50, 0.2); } 50% { box-shadow: 0 2px 12px rgba(220, 50, 50, 0.4); } 100% { box-shadow: 0 2px 8px rgba(220, 50, 50, 0.2); } } .flm-admin-container { display: flex; gap: 2rem; margin-top: 20px; } .flm-add-form { flex: 1; max-width: 400px; background: #fff; padding: 20px; border-radius: 4px; box-shadow: 0 1px 1px rgba(0,0,0,0.04); } .flm-links-list { flex: 2; background: #fff; padding: 20px; border-radius: 4px; box-shadow: 0 1px 1px rgba(0,0,0,0.04); } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: 600; } .form-group input[type="text"], .form-group input[type="url"], .form-group textarea { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; resize: vertical; } .form-group textarea { min-height: 60px; } .form-group input::placeholder, .form-group textarea::placeholder { color: #999; font-style: italic; } #flm-sortable-links { list-style: none; padding: 0; margin: 20px 0; } .flm-link-item { display: flex; align-items: center; gap: 15px; padding: 15px; margin-bottom: 15px; background: #f9f9f9; border-radius: 4px; border-left: 4px solid #6667ab; } .flm-link-checkbox { display: flex; align-items: center; min-width: 30px; } .flm-link-checkbox input[type="checkbox"] { width: 16px; height: 16px; margin: 0; } .flm-link-preview { display: flex; align-items: center; gap: 10px; min-width: 200px; cursor: move; padding: 8px; border-radius: 4px; transition: background-color 0.2s ease; } .flm-link-preview:hover { background-color: #f9f9f9; } .flm-drag-handle { color: #999; font-size: 18px; cursor: move; user-select: none; padding: 4px; } .flm-drag-handle:hover { color: #666; } .flm-link-icon { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; } .flm-link-fields { flex: 1; } .flm-link-actions { min-width: 100px; } /* 拖拽排序样式 */ .flm-link-item-placeholder { background-color: #f0f0f0; border: 2px dashed #ccc; height: 60px; margin: 8px 0; border-radius: 4px; } .ui-sortable-helper { background-color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.15); border-radius: 4px; } .flm-top-actions { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #eee; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; } .flm-top-actions .button { margin-right: 10px; } .flm-top-section { margin-bottom: 25px; padding: 20px; background: #f9f9f9; border-radius: 4px; border-left: 4px solid #6667ab; } .flm-top-section h3 { margin-top: 0; margin-bottom: 15px; font-size: 1.1em; } .flm-top-section .form-group { margin-bottom: 15px; } .flm-top-section .form-group:last-child { margin-bottom: 0; } .flm-top-section select { width: 200px; padding: 8px; border: 1px solid #ddd; border-radius: 4px; } .flm-top-section input[type="file"] { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; } .flm-top-section .description { font-size: 0.9em; color: #666; margin-top: 5px; font-style: italic; } /* 前端展示样式 */ .flm-links-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 20px 0; } .flm-link-card { border: 1px solid #6667ab; border-radius: 14px; padding: 20px; text-align: center; transition: all 0.3s ease; } .flm-link-card:hover { box-shadow: 0 6px 12px rgba(0,0,0,0.15); border-color: #555599; } /* 确保hover时横线仍然可见 */ .flm-link-card:hover .flm-link-description { border-bottom-color: #ddd; } .flm-link-icon-container { margin-bottom: 10px; } .flm-link-icon-container img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 1px solid #eee; } .flm-link-name { font-weight: bold; color: inherit; /* 使用主题默认颜色 */ margin-top: 10px; margin-bottom: 5px; border: none !important; border-bottom: none !important; padding-bottom: 0 !important; } .flm-link-description { font-size: 0.9em; color: #666; margin-top: 5px; margin-bottom: 0; line-height: 1.4; padding-bottom: 8px; border-bottom: 1px solid #eee !important; } /* 确保没有描述时完全不显示横线 */ .flm-link-card:not(:has(.flm-link-description)) .flm-link-name { margin-bottom: 0; } /* 彻底移除链接卡片内所有不必要的边框 */ .flm-link-card a, .flm-link-card a *, .flm-link-icon-container, .flm-link-icon { border: none !important; border-bottom: none !important; border-top: none !important; border-left: none !important; border-right: none !important; } /* 移动端优化样式 */ @media (max-width: 480px) { .flm-link-card { padding: 15px; margin: 0 5px 10px 5px; } .flm-link-icon-container img { width: 48px; height: 48px; } .flm-link-name { font-size: 14px; margin-top: 8px; } .flm-link-description { font-size: 12px; margin-top: 4px; } .flm-links-container { gap: 10px; margin: 10px -5px; } } .flm-link-card a { text-decoration: none; color: inherit; display: block; } /* 响应式设计 - 后台管理界面 */ @media (max-width: 1024px) { .flm-admin-container { flex-direction: column; } .flm-add-form { max-width: 100%; } } @media (max-width: 768px) { .flm-link-item { flex-direction: column; align-items: flex-start; gap: 10px; } .flm-link-preview { min-width: auto; width: 100%; } .flm-link-actions { min-width: auto; width: 100%; display: flex; gap: 10px; } } @media (max-width: 600px) { .flm-admin-container { flex-direction: column; } .flm-add-form { max-width: 100%; } .flm-top-actions { flex-direction: column; align-items: stretch; } .flm-top-actions .button { margin-right: 0; margin-bottom: 10px; } .flm-link-item { flex-direction: column; align-items: flex-start; } .flm-link-fields { width: 100%; } }