@import url("../static/css/bootstrap.min.css"); /* 整体布局样式 */ .wrapper { min-height: 100vh; background: #f8f9fa; } /* 标签页容器样式 */ .tab-container { background: white; box-shadow: 0 2px 10px rgba(0,0,0,0.1); border-radius: 0 0 8px 8px; } /* 标签页导航样式 */ .nav-tabs { background: #f8f9fa; border-bottom: 2px solid #e9ecef; margin: 0; padding: 10px 15px 0; } .nav-tabs > li > a { color: #6c757d; font-weight: 500; border: none; border-radius: 8px 8px 0 0; margin-right: 5px; padding: 12px 16px; background: transparent; transition: all 0.3s ease; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { background: white; color: #495057; border: none; border-bottom: 3px solid #007bff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .nav-tabs > li > a:hover { background: #e9ecef; border: none; } /* 标签页内容样式 */ .tab-content { padding: 30px; min-height: 500px; } .tool-section { margin-bottom: 30px; } .section-title { color: #343a40; font-size: 24px; font-weight: 600; margin-bottom: 10px; border-left: 4px solid #007bff; padding-left: 15px; } .section-desc { color: #6c757d; margin-bottom: 25px; font-size: 14px; line-height: 1.5; } /* 时间显示和操作区域样式 */ .time-and-actions { margin-bottom: 25px; } /* 实时时间显示样式 */ .current-time-display { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 20px; border-radius: 8px; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3); } .current-time-display label { color: white; font-weight: 600; margin-bottom: 8px; display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; } .time-display { background: rgba(255,255,255,0.9); border: 2px solid rgba(255,255,255,0.5); color: #2d3748; font-weight: 700; cursor: pointer; font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; font-size: 13px; text-align: center; transition: all 0.3s ease; } .time-display:hover { background: white; border-color: rgba(255,255,255,0.8); transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.2); } .time-display:focus { background: white; border-color: rgba(255,255,255,0.8); color: #2d3748; box-shadow: 0 0 0 3px rgba(255,255,255,0.3); outline: none; } /* 操作面板样式 */ .actions-panel { padding: 20px; background: #f8f9fa; border-radius: 8px; border: 2px solid #e9ecef; height: 100%; } .time-control { margin-bottom: 20px; } .time-control label { color: #495057; font-weight: 600; margin-bottom: 10px; display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; } .time-toggle-btn { width: 100%; font-weight: 600; border-radius: 6px; transition: all 0.3s ease; } .time-toggle-btn:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.15); } .quick-actions label { color: #495057; font-weight: 600; margin-bottom: 10px; display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; } .quick-buttons { display: flex; flex-wrap: wrap; gap: 6px; } .quick-buttons .btn { font-size: 11px; padding: 4px 8px; border-radius: 4px; font-weight: 500; white-space: nowrap; flex: 1; min-width: auto; transition: all 0.2s ease; } .quick-buttons .btn:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,0.15); background-color: #007bff; color: white; border-color: #007bff; } /* 通用标签样式 */ .input-label, .result-label { display: flex; align-items: center; gap: 8px; font-weight: 600; color: #2d3748; margin-bottom: 15px; font-size: 16px; border-bottom: 2px solid #e2e8f0; padding-bottom: 8px; } .label-icon { font-size: 18px; } .input-section, .results-section { background: #f8f9fa; border-radius: 12px; padding: 20px; margin-bottom: 25px; border: 1px solid #e9ecef; } .results-section { background: #ffffff; border: 2px solid #e9ecef; box-shadow: 0 2px 8px rgba(0,0,0,0.05); } /* 智能解析器左右布局样式 */ .parser-main-layout { display: flex; gap: 25px; margin-top: 25px; } .left-panel { flex: 1; display: flex; flex-direction: column; gap: 20px; } .right-panel { flex: 1; display: flex; flex-direction: column; gap: 20px; } /* 模块标签样式 */ .module-label { display: flex; align-items: center; gap: 8px; font-weight: 600; color: #2d3748; margin-bottom: 15px; font-size: 16px; border-bottom: 2px solid #e2e8f0; padding-bottom: 8px; } /* 快捷操作模块 */ .quick-actions-module { background: #f8f9fa; border-radius: 12px; padding: 20px; border: 1px solid #e9ecef; } .quick-buttons-grid { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; } .quick-btn { flex: 1; min-width: 0; padding: 10px 8px; border-radius: 8px; font-weight: 600; font-size: 12px; transition: all 0.3s ease; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 2px solid; background: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .quick-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); background: #f8f9fa; } .quick-btn:active { transform: translateY(0); box-shadow: 0 1px 3px rgba(0,0,0,0.2); } /* 不同颜色的快捷按钮 */ .quick-btn[data-action="now"] { border-color: #007bff; color: #007bff; } .quick-btn[data-action="now"]:hover { background: #e3f2fd; border-color: #0056b3; } .quick-btn[data-action="today"] { border-color: #28a745; color: #28a745; } .quick-btn[data-action="today"]:hover { background: #e8f5e8; border-color: #1e7e34; } .quick-btn[data-action="yesterday"] { border-color: #17a2b8; color: #17a2b8; } .quick-btn[data-action="yesterday"]:hover { background: #e1f7fa; border-color: #117a8b; } .quick-btn[data-action="week_start"] { border-color: #ffc107; color: #856404; } .quick-btn[data-action="week_start"]:hover { background: #fff3cd; border-color: #d39e00; } .quick-btn[data-action="month_start"] { border-color: #6c757d; color: #6c757d; } .quick-btn[data-action="month_start"]:hover { background: #f8f9fa; border-color: #545b62; } .quick-btn[data-action="clear"] { border-color: #dc3545; color: #dc3545; } .quick-btn[data-action="clear"]:hover { background: #f8d7da; border-color: #bd2130; } /* 输入时间模块 */ .input-time-module { background: #f8f9fa; border-radius: 12px; padding: 20px; border: 1px solid #e9ecef; flex: 1; } .input-group-custom { display: flex; gap: 12px; align-items: flex-start; } .smart-input { flex: 1; border-radius: 8px; border: 2px solid #cbd5e0; font-size: 14px; transition: all 0.3s ease; resize: vertical; min-height: 140px; } .smart-input:focus { border-color: #4299e1; box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1); } .input-actions { display: flex; flex-direction: column; gap: 8px; } .input-actions .btn { white-space: nowrap; min-width: 100px; border-radius: 6px; font-weight: 500; } /* 当前时间模块 */ .current-time-module { background: #ffffff; border-radius: 12px; padding: 20px; border: 2px solid #e9ecef; box-shadow: 0 2px 8px rgba(0,0,0,0.05); } .time-control-inline { margin-left: auto; } .current-time-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; } .time-item { display: flex; flex-direction: column; gap: 5px; } .time-item label { font-weight: 500; color: #4a5568; font-size: 12px; text-align: center; margin-bottom: 8px; } .time-item .time-display { font-family: 'Monaco', 'Consolas', monospace; font-size: 13px; background: #f7fafc; border: 2px solid #e2e8f0; color: #2d3748; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-align: center; padding: 8px 6px; } .time-item .time-display:hover { border-color: #4299e1; background: #ebf8ff; } /* 解析结果模块 */ .parse-results-module { background: #ffffff; border-radius: 12px; padding: 20px; border: 2px solid #e9ecef; box-shadow: 0 2px 8px rgba(0,0,0,0.05); flex: 1; } .format-hints { margin-top: 15px; } .format-hints .badge { background: #48bb78; color: white; padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 500; display: inline-block; } .format-hints:empty { display: none; } .result-container { padding: 0; border: none; background: transparent; } /* 解析结果网格布局 - 参考当前时间模块 */ .parse-results-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: 15px; } .result-item { display: flex; flex-direction: column; gap: 5px; background: #f7fafc; border-radius: 8px; padding: 12px; border-left: 4px solid #4299e1; } .result-item label { font-weight: 500; color: #4a5568; font-size: 12px; text-align: center; margin-bottom: 8px; } .result-item .result-value { font-family: 'Monaco', 'Consolas', monospace; font-size: 13px; background: white; border: 2px solid #e2e8f0; color: #2d3748; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-align: center; padding: 8px 6px; border-radius: 6px; word-break: break-all; } .result-item .result-value:hover { border-color: #4299e1; background: #ebf8ff; } /* ISO 8601 结果项特殊样式 */ .result-item.iso-result { grid-column: 1 / -1; } .result-item.iso-result .result-value { text-align: left; word-break: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* 代码生成器样式 */ .code-generator-container { margin-top: 25px; } .input-row { display: flex; gap: 15px; align-items: flex-end; } .time-input-group { flex: 2; display: flex; gap: 10px; } .time-input { flex: 1; border-radius: 8px; border: 2px solid #cbd5e0; } .time-input:focus { border-color: #4299e1; box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1); } .generate-btn { white-space: nowrap; padding: 8px 16px; border-radius: 6px; font-weight: 500; } .language-selector { flex: 1; min-width: 150px; } .language-selector select { border-radius: 8px; border: 2px solid #cbd5e0; } .code-results { border: 2px solid #e2e8f0; border-radius: 12px; padding: 20px; background: #f7fafc; } .code-block { margin-bottom: 25px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .code-block:last-child { margin-bottom: 0; } /* 时间计算器样式 */ .calculator-container { margin-top: 25px; } /* 时间计算器左右布局 */ .calculator-main-layout { display: flex; gap: 25px; margin-top: 25px; } .left-calc-panel { flex: 1; display: flex; flex-direction: column; } .right-calc-panel { flex: 1; display: flex; flex-direction: column; } .calc-input-group { display: flex; flex-direction: column; gap: 15px; margin-bottom: 20px; } .time-inputs { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; } .time-input-item { display: flex; align-items: center; gap: 8px; flex: 1; } .input-prefix { color: #4a5568; font-weight: 500; min-width: 30px; } .calc-separator { color: #4a5568; font-weight: 600; padding: 0 10px; } .start-time, .end-time { border-radius: 8px; border: 2px solid #cbd5e0; } .calc-btn { white-space: nowrap; padding: 8px 20px; border-radius: 6px; font-weight: 500; } .add-subtract-section { margin-top: 0px; } /* 统一的左右布局样式 */ .main-layout { display: flex; gap: 20px; margin-top: 20px; } .left-panel { flex: 1; min-width: 0; /* 确保可以缩小 */ } .right-panel { flex: 1; min-width: 0; /* 确保可以缩小 */ } /* 在小屏幕上切换为垂直布局 */ @media (max-width: 768px) { .main-layout { flex-direction: column; } .timezone-selectors { grid-template-columns: 1fr; gap: 20px; } .panel-section { padding: 20px; } .batch-actions { flex-direction: column; } .batch-actions .btn { width: 100%; } } /* 通用面板样式 */ .panel-section { background: rgba(248, 249, 250, 0.8); border: 1px solid #e0e6ed; border-radius: 12px; padding: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); transition: box-shadow 0.3s ease; } .panel-section:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); } /* 左右布局中的表单样式 */ .input-group, .batch-input-group, .timezone-input-group, .db-input-group { display: flex; flex-direction: column; gap: 20px; } .time-input-section, .language-selector-section, .time-db-input, .db-type-selector { display: flex; flex-direction: column; gap: 8px; } /* 时区选择器优化布局 */ .timezone-selectors { display: flex; gap: 12px; width: 100%; } .timezone-selectors .from-timezone, .timezone-selectors .to-timezone { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; } .timezone-selectors .form-control { width: 100%; min-width: 0; box-sizing: border-box; } /* 时区选择器容器样式 */ .from-timezone select, .to-timezone select { align-self: flex-start; } /* 时区选择器的标签样式 */ .timezone-selectors .form-label { font-size: 14px; font-weight: 600; color: #495057; margin-bottom: 5px; } /* 数据库输入组网格布局 */ .db-input-group { width: 100%; box-sizing: border-box; } .db-input-group .time-db-input, .db-input-group .db-type-selector { width: 100%; margin-bottom: 12px; } .db-input-group .form-control { width: 100%; box-sizing: border-box; } /* 表单标签统一样式 */ .panel-section .form-label { font-size: 14px; font-weight: 600; color: #495057; margin-bottom: 5px; display: block; } /* 批量操作按钮组 */ .batch-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; } .batch-actions .btn { flex: 1; min-width: 100px; } /* 统一按钮样式 */ .generate-btn, .timezone-convert-btn, .db-generate-btn { margin-top: 15px; padding: 14px 24px; font-size: 16px; font-weight: 600; border-radius: 10px; border: none; background: linear-gradient(135deg, #007bff, #0056b3); color: white; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 3px 12px rgba(0, 123, 255, 0.25); text-align: center; width: 100%; } .generate-btn:hover, .timezone-convert-btn:hover, .db-generate-btn:hover { background: linear-gradient(135deg, #0056b3, #004085); box-shadow: 0 5px 16px rgba(0, 123, 255, 0.35); transform: translateY(-2px); } /* 表单控件统一样式 */ .panel-section .form-control { padding: 12px 16px; border: 2px solid #e9ecef; border-radius: 8px; font-size: 15px; transition: all 0.3s ease; background-color: #ffffff; width: 100%; box-sizing: border-box; min-height: 50px; } /* input输入框统一100%宽度 */ .panel-section input.form-control { width: 100% !important; } /* select下拉框默认宽度调整 */ .panel-section select.form-control { width: 100% !important; } .panel-section .form-control:focus { border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); outline: none; } /* select下拉框特殊样式 */ .panel-section select.form-control { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px 12px; padding-right: 40px; cursor: pointer; } .panel-section select.form-control:focus { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23007bff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); } /* select选项样式 */ .panel-section select.form-control option { padding: 8px 12px; background-color: #ffffff; color: #343a40; font-size: 15px; } /* 输入标签样式优化 */ .input-label { font-size: 16px; font-weight: 700; color: #343a40; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; } .label-icon { font-size: 18px; } /* 面板内间距优化 */ .panel-section { padding: 25px; } /* 时区和数据库特殊布局优化 */ .timezone-input-group .time-input-section { width: 100%; margin-bottom: 12px; } .timezone-input-group .form-control { width: 100%; box-sizing: border-box; } /* 单行布局:基准时间 + 操作 + 数量 + 单位 */ .single-row-group { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; } .base-time-group { flex: 2; min-width: 200px; } .operation-select-group { flex: 0 0 120px; } .amount-group { flex: 0 0 100px; } .unit-group { flex: 0 0 120px; } /* 时间加减运算按钮样式,与时间差计算按钮保持一致 */ .calc-add-btn { width: 100%; padding: 12px; font-size: 16px; font-weight: 600; border-radius: 8px; border: none; background: linear-gradient(135deg, #28a745, #20c997); color: white; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3); } .calc-add-btn:hover { background: linear-gradient(135deg, #218838, #1ea085); box-shadow: 0 4px 12px rgba(40, 167, 69, 0.4); transform: translateY(-1px); } .operation-group { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; } .operation-select, .amount-input, .unit-select { border-radius: 6px; border: 2px solid #cbd5e0; } .calc-add-btn { white-space: nowrap; padding: 8px 16px; border-radius: 6px; font-weight: 500; } .calc-results, .add-subtract-results { padding: 15px; background: #f7fafc; border-radius: 8px; border: 2px solid #e2e8f0; min-height: 60px; } /* 代码生成器样式 */ .code-block { margin-bottom: 20px; border: 1px solid #e9ecef; border-radius: 8px; overflow: hidden; } .code-header { background: #f8f9fa; padding: 10px 15px; border-bottom: 1px solid #e9ecef; display: flex; justify-content: space-between; align-items: center; } .code-lang { font-weight: 600; color: #495057; } .code-content { background: #2d3748; color: #e2e8f0; margin: 0; padding: 15px; border-radius: 0; font-family: 'Monaco', 'Menlo', 'Consolas', monospace; font-size: 13px; line-height: 1.4; word-wrap: break-word; white-space: pre-wrap; } /* 时间计算器样式 */ .calc-section { background: white; border: 1px solid #e9ecef; border-radius: 8px; padding: 20px; margin-bottom: 20px; } .calc-section h5 { color: #495057; font-weight: 600; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #e9ecef; } .result-display { margin-top: 20px; padding: 15px; background: #f8f9fa; border-radius: 6px; } .human-readable { margin-top: 15px; padding: 10px; background: white; border-left: 4px solid #28a745; color: #495057; } /* 批量转换器样式 */ .batch-controls { margin-top: 15px; } .batch-controls .btn { margin-right: 10px; margin-bottom: 5px; } .batch-results { background: #f8f9fa; border-radius: 8px; padding: 15px; } .result-stats { color: #495057; } .result-stats .badge { margin-right: 10px; padding: 5px 10px; } .results-table-container { background: white; border-radius: 6px; overflow: hidden; } .table { margin: 0; font-size: 13px; } .original-value, .converted-value { max-width: 200px; word-wrap: break-word; white-space: normal; } .converted-value { cursor: pointer; color: #007bff; } .converted-value:hover { background: #e3f2fd; } /* 时区专家样式 */ .timezone-converter { margin-bottom: 30px; } .timezone-result { margin-top: 20px; padding: 15px; background: #e8f5e8; border-radius: 6px; } .world-clock { margin-top: 30px; } .clock-item { background: white; border: 1px solid #e9ecef; border-radius: 8px; padding: 15px; text-align: center; margin-bottom: 15px; transition: transform 0.2s ease; } .clock-item:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.1); } .clock-city { font-weight: 600; color: #495057; margin-bottom: 5px; } .clock-time { font-size: 18px; font-weight: 700; color: #007bff; margin-bottom: 5px; } .clock-timezone { font-size: 12px; color: #6c757d; } /* 数据库工具样式 */ .db-results { } .db-format-item { margin-bottom: 15px; } .sql-examples { margin-top: 20px; } .sql-example { margin-bottom: 20px; border: 1px solid #e9ecef; border-radius: 8px; overflow: hidden; } .sql-header { background: #f8f9fa; padding: 10px 15px; border-bottom: 1px solid #e9ecef; display: flex; justify-content: space-between; align-items: center; font-weight: 500; } .sql-content { background: #2d3748; color: #e2e8f0; margin: 0; padding: 15px; font-family: 'Monaco', 'Menlo', 'Consolas', monospace; font-size: 13px; line-height: 1.4; word-wrap: break-word; white-space: pre-wrap; } /* 底部面板样式 */ .bottom-panel { background: white; border-top: 1px solid #e9ecef; padding: 20px 30px; margin-top: 30px; } .bottom-panel h5 { color: #495057; font-weight: 600; margin-bottom: 15px; padding-bottom: 8px; border-bottom: 1px solid #e9ecef; } /* 历史记录样式 */ .history-list { } .history-item { padding: 8px 12px; border: 1px solid #e9ecef; border-radius: 4px; margin-bottom: 5px; cursor: pointer; transition: background 0.2s ease; font-size: 13px; } .history-item:hover { background: #f8f9fa; } .history-time { color: #6c757d; font-size: 11px; margin-right: 10px; } .history-action { color: #007bff; font-weight: 500; margin-right: 10px; } .history-value { color: #495057; } /* 快捷操作样式 */ .quick-actions .btn { margin-right: 8px; margin-bottom: 8px; font-size: 13px; } /* 响应式设计 */ @media (max-width: 1024px) and (min-width: 769px) { .current-time-grid { grid-template-columns: 1fr; gap: 12px; } .time-item .time-display { font-size: 14px; padding: 10px; } .time-item label { font-size: 13px; text-align: left; } } @media (max-width: 768px) { .tab-content { padding: 15px; } .nav-tabs { padding: 5px 10px 0; } .nav-tabs > li > a { padding: 8px 12px; font-size: 13px; } .section-title { font-size: 20px; } .current-time-display { padding: 15px; } .bottom-panel { padding: 15px; } /* 智能解析器响应式布局 */ .parser-main-layout { flex-direction: column; gap: 20px; } .left-panel, .right-panel { flex: none; } .quick-buttons-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; } .quick-btn { font-size: 12px; padding: 6px 8px; } .input-group-custom { flex-direction: column; } .input-actions { flex-direction: row; justify-content: space-between; } .current-time-grid { grid-template-columns: 1fr; gap: 10px; } .calculator-main-layout { flex-direction: column; gap: 20px; } .left-calc-panel, .right-calc-panel { flex: none; } } /* 动画效果 */ .fade-enter-active, .fade-leave-active { transition: opacity 0.3s ease; } .fade-enter, .fade-leave-to { opacity: 0; } /* 自定义滚动条 */ /* 表单增强样式 */ .form-control:focus { border-color: #007bff; box-shadow: 0 0 0 2px rgba(0,123,255,0.25); } .btn-primary { background: linear-gradient(135deg, #007bff 0%, #0056b3 100%); border: none; font-weight: 500; transition: all 0.3s ease; } .btn-primary:hover { background: linear-gradient(135deg, #0056b3 0%, #004085 100%); transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,123,255,0.3); } /* Toast 提示样式 */ #fehelper_alertmsg { position: fixed; top: 0; left: 0; right: 0; z-index: 1000000; background: linear-gradient(135deg, #28a745 0%, #20c997 100%); display: inline-block; color: #fff; text-align: center; padding: 12px 20px; margin: 0 auto; font-size: 14px; font-weight: 500; border-bottom: 1px solid rgba(255,255,255,0.2); box-shadow: 0 2px 10px rgba(0,0,0,0.1); } /* 批量转换器增强样式 */ .batch-container { margin-top: 25px; } .batch-input-group { display: flex; gap: 15px; } .batch-input { flex: 1; border-radius: 8px; border: 2px solid #cbd5e0; font-family: 'Monaco', 'Consolas', monospace; font-size: 13px; } .batch-actions { display: flex; flex-direction: column; gap: 8px; min-width: 130px; } .batch-actions .btn { white-space: nowrap; border-radius: 6px; font-weight: 500; font-size: 13px; } /* 时区转换器增强样式 */ .timezone-container { margin-top: 25px; } .timezone-input-group { width: 100%; box-sizing: border-box; } .timezone-input-group .time-input-section { width: 100%; margin-bottom: 12px; } .timezone-input-group .form-control { width: 100%; box-sizing: border-box; } /* 并排布局,两个select各占50% */ .timezone-selectors { display: flex; gap: 12px; width: 100%; } .timezone-selectors .from-timezone, .timezone-selectors .to-timezone { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; } .timezone-selectors .form-control { width: 100%; min-width: 0; box-sizing: border-box; } .timezone-selectors .form-label { font-size: 14px; font-weight: 600; color: #495057; margin-bottom: 5px; } .timezone-arrow { color: #4a5568; font-size: 16px; padding: 0 5px; } .from-timezone-select, .to-timezone-select { border-radius: 6px; border: 2px solid #cbd5e0; font-size: 13px; } .timezone-convert-btn { white-space: nowrap; padding: 8px 16px; border-radius: 6px; font-weight: 500; } .timezone-results { padding: 15px; background: #f7fafc; border-radius: 8px; border: 2px solid #e2e8f0; min-height: 60px; } /* 数据库工具增强样式 */ .database-container { margin-top: 25px; } .db-input-group { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; margin-bottom: 20px; } .time-db-input { flex: 2; min-width: 200px; } .db-time-input { border-radius: 8px; border: 2px solid #cbd5e0; } .db-type-selector { flex: 1; min-width: 150px; } .db-type-select { border-radius: 6px; border: 2px solid #cbd5e0; } .db-generate-btn { white-space: nowrap; padding: 8px 16px; border-radius: 6px; font-weight: 500; } .db-results { border: 2px solid #e2e8f0; border-radius: 8px; padding: 15px; background: #f7fafc; }