/* history_style.css */ /* Header styles */ .header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; } .header-controls { text-align: right; } .user-info { font-size: 0.9em; color: #555; margin-bottom: 10px; } .user-info a { text-decoration: none; color: #007bff; } .user-info a:hover { text-decoration: underline; } .download-btn { background-color: #6c757d; color: white !important; margin-left: 5px; } .download-btn:hover { background-color: #5a6268; } /* 悬浮导航按钮 */ .floating-nav { position: fixed; bottom: 30px; right: 30px; display: flex; flex-direction: column; gap: 10px; /* 按钮之间的间距 */ z-index: 1000; } .floating-nav .nav-btn { background-color: #007bff; color: white !important; padding: 10px 15px; border-radius: 5px; text-decoration: none; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.2); transition: background-color 0.2s, transform 0.2s; } .floating-nav .nav-btn:hover { background-color: #0056b3; transform: scale(1.05); /* 轻微放大效果 */ } /* Table styles */ .history-table { width: 100%; border-collapse: collapse; margin-top: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .history-table th, .history-table td { border: 1px solid #ddd; padding: 12px 15px; text-align: left; } .history-table th { background-color: #f8f9fa; font-weight: bold; } .history-table tbody tr:nth-child(even) { background-color: #f2f2f2; } .history-table tbody tr:hover { background-color: #e9ecef; } /* 根据最终状态为行添加柔和的背景色 */ .status-row-passed:nth-child(even) { background-color: #e6f7ec; } .status-row-passed:nth-child(odd) { background-color: #f2fbf5; } .status-row-failed:nth-child(even) { background-color: #fbeae5; } .status-row-failed:nth-child(odd) { background-color: #fef4f1; } .error-row { color: #dc3545; font-style: italic; text-align: center !important; } /* Status badge styles */ .status-badge { padding: 5px 10px; border-radius: 12px; color: white; font-weight: bold; font-size: 0.85em; text-transform: uppercase; } .status-passed { background-color: #28a745; /* Green */ } .status-failed { background-color: #dc3545; /* Red */ } /* Button styles */ .button { display: inline-block; padding: 8px 12px; background-color: #007bff; color: white; text-decoration: none; border-radius: 4px; transition: background-color 0.2s; } .button:hover { background-color: #0056b3; } /* Detail page styles */ .details-container { margin-top: 20px; } .json-output { background-color: #f8f9fa; border: 1px solid #dee2e6; padding: 15px; border-radius: 5px; white-space: pre-wrap; word-wrap: break-word; font-family: 'Courier New', Courier, monospace; } /* Markdown body styles */ .markdown-body { margin-top: 20px; padding: 20px; border: 1px solid #ddd; border-radius: 5px; background-color: #fff; line-height: 1.6; } .markdown-body h1, .markdown-body h2, .markdown-body h3 { border-bottom: 1px solid #eee; padding-bottom: 0.3em; margin-top: 24px; margin-bottom: 16px; } .markdown-body table { width: 100%; border-collapse: collapse; margin-top: 1em; margin-bottom: 1em; } .markdown-body th, .markdown-body td { border: 1px solid #ddd; padding: 8px; } .markdown-body th { background-color: #f2f2f2; } .markdown-body pre { background-color: #f6f8fa; padding: 16px; border-radius: 3px; overflow: auto; } .markdown-body code { font-family: 'Courier New', Courier, monospace; background-color: rgba(27,31,35,0.05); padding: 0.2em 0.4em; margin: 0; font-size: 85%; border-radius: 3px; } .markdown-body pre code { background: none; padding: 0; margin: 0; font-size: 100%; } /* PDF container styles */ .pdf-container { margin-bottom: 2rem; border: 1px solid #ddd; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .pdf-container iframe { display: block; border: none; }