.tech-page {
padding: 0;
height: 100%;
position: relative;
}
.tech-page::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, rgba(0, 192, 255, 0.5), transparent);
animation: scan-line 8s linear infinite;
z-index: 1;
pointer-events: none;
}
.tech-header-box {
margin-bottom: 20px;
height: 60px;
position: relative;
}
.tech-header-box::before,
.tech-header-box::after {
content: '';
position: absolute;
height: 2px;
width: 30%;
background: linear-gradient(90deg, transparent, #00c0ff, transparent);
bottom: -2px;
}
.tech-header-box::before {
left: 0;
}
.tech-header-box::after {
right: 0;
}
.tech-header {
display: flex;
justify-content: space-between;
align-items: center;
height: 100%;
padding: 0 20px;
position: relative;
}
.tech-title {
font-size: 22px;
font-weight: 600;
margin: 0;
color: #00c0ff;
text-shadow: 0 0 15px rgba(0, 192, 255, 0.7);
letter-spacing: 1px;
position: relative;
padding-left: 15px;
}
.tech-title::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 5px;
height: 70%;
background: linear-gradient(to bottom, #00c0ff, transparent);
border-radius: 2px;
}
.tech-search-box {
margin-bottom: 20px;
height: auto;
padding: 10px;
position: relative;
}
.tech-search-box::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 60%;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(0, 192, 255, 0.5), transparent);
}
.tech-search-box::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 80%;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(0, 192, 255, 0.5), transparent);
}
.tech-search-bar {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
padding: 15px 10px;
position: relative;
background-color: rgba(0, 30, 60, 0.2);
border-radius: 4px;
box-shadow: inset 0 0 20px rgba(0, 192, 255, 0.1);
}
.tech-search-bar::before {
content: '';
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border: 1px dashed rgba(0, 192, 255, 0.3);
border-radius: 2px;
pointer-events: none;
}
.tech-search-form {
display: flex;
flex-wrap: wrap;
}
.tech-search-form :deep(.el-form-item__label) {
color: #00c0ff;
font-weight: 500;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
.tech-search-form :deep(.el-input__inner) {
background-color: rgba(0, 30, 60, 0.5);
border: 1px solid rgba(0, 192, 255, 0.5);
color: #ffffff;
box-shadow: inset 0 0 10px rgba(0, 192, 255, 0.2);
}
.tech-search-form :deep(.el-input__inner:focus) {
border-color: #00c0ff;
box-shadow: 0 0 12px rgba(0, 192, 255, 0.7), inset 0 0 10px rgba(0, 192, 255, 0.3);
}
.tech-button {
background-color: rgba(0, 30, 60, 0.6);
border: 1px solid #00c0ff;
color: #00c0ff;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.8);
position: relative;
overflow: hidden;
transition: all 0.3s;
}
.tech-button:hover {
background-color: rgba(0, 192, 255, 0.2);
box-shadow: 0 0 15px rgba(0, 192, 255, 0.7);
transform: translateY(-1px);
}
.tech-button:hover::after {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(0, 192, 255, 0.4), transparent);
animation: button-shine 1.5s infinite;
}
.tech-button--primary {
background-color: rgba(0, 192, 255, 0.3);
}
.tech-button--success {
background-color: rgba(0, 30, 60, 0.6);
border: 1px solid #67c23a;
color: #67c23a;
text-shadow: 0 0 5px rgba(103, 194, 58, 0.8);
}
.tech-button--success:hover {
background-color: rgba(103, 194, 58, 0.2);
box-shadow: 0 0 15px rgba(103, 194, 58, 0.7);
}
.tech-button--success:hover::after {
background: linear-gradient(90deg, transparent, rgba(103, 194, 58, 0.4), transparent);
}
.tech-button--danger {
background-color: rgba(0, 30, 60, 0.6);
border: 1px solid #f56c6c;
color: #f56c6c;
text-shadow: 0 0 5px rgba(245, 108, 108, 0.8);
}
.tech-button--danger:hover {
background-color: rgba(245, 108, 108, 0.2);
box-shadow: 0 0 15px rgba(245, 108, 108, 0.7);
}
.tech-button--danger:hover::after {
background: linear-gradient(90deg, transparent, rgba(245, 108, 108, 0.4), transparent);
}
.tech-table-box {
height: calc(100% - 160px);
padding: 10px;
position: relative;
}
.tech-table-box::before {
content: '';
position: absolute;
top: 5px;
left: 5px;
width: 20px;
height: 20px;
border-top: 2px solid rgba(0, 192, 255, 0.6);
border-left: 2px solid rgba(0, 192, 255, 0.6);
z-index: 1;
}
.tech-table-box::after {
content: '';
position: absolute;
bottom: 5px;
right: 5px;
width: 20px;
height: 20px;
border-bottom: 2px solid rgba(0, 192, 255, 0.6);
border-right: 2px solid rgba(0, 192, 255, 0.6);
z-index: 1;
}
.tech-table-container {
height: calc(100% - 60px);
overflow-y: auto;
padding: 10px;
background-color: rgba(0, 30, 60, 0.2);
border-radius: 4px;
box-shadow: inset 0 0 30px rgba(0, 192, 255, 0.1);
position: relative;
}
.tech-table-container::before {
content: '数据列表';
position: absolute;
top: -1px;
left: 20px;
background-color: rgba(0, 30, 60, 0.8);
padding: 2px 10px;
color: #00c0ff;
font-size: 10px;
border-radius: 2px;
border: 1px solid rgba(0, 192, 255, 0.5);
box-shadow: 0 0 10px rgba(0, 192, 255, 0.3);
text-shadow: 0 0 5px rgba(0, 192, 255, 0.8);
z-index: 2;
}
.tech-table :deep(.el-table) {
background-color: transparent;
color: #ffffff;
}
.tech-table :deep(.el-table__header-wrapper th) {
background-color: rgba(0, 192, 255, 0.2);
color: #ffffff;
border-bottom: 1px solid rgba(0, 192, 255, 0.5);
font-weight: bold;
text-shadow: 0 0 8px rgba(0, 192, 255, 0.8);
}
.tech-table :deep(.el-table__row) {
background-color: transparent;
}
.tech-table :deep(.el-table__row:hover > td) {
background-color: rgba(0, 192, 255, 0.2) !important;
box-shadow: inset 0 0 10px rgba(0, 192, 255, 0.3);
}
.tech-table :deep(.el-table__row--striped > td) {
background-color: rgba(0, 40, 80, 0.1);
}
.tech-table :deep(.el-table__body tr.current-row > td) {
background-color: rgba(0, 192, 255, 0.15) !important;
box-shadow: inset 0 0 15px rgba(0, 192, 255, 0.4);
}
.tech-table :deep(.el-table td),
.tech-table :deep(.el-table th) {
background-color: transparent;
border-color: rgba(0, 192, 255, 0.3);
}
.tech-table :deep(.el-table::before) {
background-color: rgba(0, 192, 255, 0.3);
}
.tech-table :deep(.el-table__empty-block) {
background-color: transparent;
}
.tech-table :deep(.el-table__body),
.tech-table :deep(.el-table__footer),
.tech-table :deep(.el-table__header) {
background-color: transparent;
}
.tech-table :deep(.el-table__cell) {
background-color: transparent;
}
.tech-table :deep(tbody tr) {
background-color: transparent !important;
}
.tech-table :deep(td.el-table__cell),
.tech-table :deep(th.el-table__cell) {
background-color: transparent !important;
}
.el-table,
.el-table tr,
.el-table th,
.el-table td {
background-color: transparent !important;
color: #ffffff !important;
}
.el-table__header-wrapper,
.el-table__body-wrapper,
.el-table__footer-wrapper {
color: #ffffff !important;
}
.el-table th.el-table__cell,
.el-table td.el-table__cell {
color: #ffffff !important;
}
.el-table .cell a,
.el-table .cell button:not(.el-button) {
color: #ffffff !important;
}
.tech-table :deep(.el-table__empty-text) {
color: #00c0ff;
}
.tech-pagination-container {
margin-top: 20px;
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.tech-pagination-container::before,
.tech-pagination-container::after {
content: '';
position: absolute;
height: 2px;
width: 20%;
background: linear-gradient(90deg, transparent, #00c0ff, transparent);
top: -10px;
}
.tech-pagination-container::before {
left: 0;
}
.tech-pagination-container::after {
right: 0;
}
.tech-pagination-container :deep(.el-pagination) {
margin: 0 20px;
background-color: transparent;
padding: 10px 15px;
border-radius: 4px;
box-shadow: 0 0 15px rgba(0, 192, 255, 0.2);
border: 1px solid rgba(0, 192, 255, 0.3);
}
.tech-pagination-container :deep(.el-pagination__total),
.tech-pagination-container :deep(.el-pagination__jump),
.tech-pagination-container :deep(.el-pagination__sizes) {
color: #ffffff;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
.tech-pagination-container :deep(.el-select .el-input__inner) {
background-color: rgba(0, 30, 60, 0.5);
border: 1px solid rgba(0, 192, 255, 0.5);
color: #ffffff;
}
.tech-pagination-container :deep(.el-pager li) {
background-color: rgba(0, 30, 60, 0.5);
color: #ffffff;
border: 1px solid rgba(0, 192, 255, 0.3);
transition: all 0.3s;
}
.tech-pagination-container :deep(.el-pager li:hover) {
background-color: rgba(0, 192, 255, 0.2);
border-color: rgba(0, 192, 255, 0.6);
box-shadow: 0 0 10px rgba(0, 192, 255, 0.4);
}
.tech-pagination-container :deep(.el-pager li.is-active) {
background-color: rgba(0, 192, 255, 0.3);
color: #00c0ff;
border-color: #00c0ff;
box-shadow: 0 0 15px rgba(0, 192, 255, 0.6);
text-shadow: 0 0 5px rgba(0, 192, 255, 0.8);
}
.tech-pagination-container :deep(.btn-prev),
.tech-pagination-container :deep(.btn-next) {
background-color: rgba(0, 30, 60, 0.5);
color: #ffffff;
border: 1px solid rgba(0, 192, 255, 0.3);
}
.tech-pagination-container :deep(.btn-prev:hover),
.tech-pagination-container :deep(.btn-next:hover) {
background-color: rgba(0, 192, 255, 0.2);
border-color: rgba(0, 192, 255, 0.6);
box-shadow: 0 0 10px rgba(0, 192, 255, 0.4);
}
.tech-pagination-container :deep(.el-pagination__editor.el-input .el-input__inner) {
background-color: rgba(0, 30, 60, 0.5);
border: 1px solid rgba(0, 192, 255, 0.5);
color: #ffffff;
}
.tech-card {
background-color: rgba(0, 30, 60, 0.3);
border-radius: 4px;
border: 1px solid rgba(0, 192, 255, 0.3);
box-shadow: 0 0 15px rgba(0, 192, 255, 0.2);
padding: 15px;
margin-bottom: 20px;
position: relative;
overflow: hidden;
}
.tech-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, transparent, #00c0ff, transparent);
}
.tech-card-title {
color: #00c0ff;
font-size: 16px;
font-weight: 600;
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 1px dashed rgba(0, 192, 255, 0.3);
text-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
.tech-form :deep(.el-form-item__label) {
color: #00c0ff;
font-weight: 500;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
.tech-form :deep(.el-input__inner),
.tech-form :deep(.el-textarea__inner) {
background-color: rgba(0, 30, 60, 0.5);
border: 1px solid rgba(0, 192, 255, 0.5);
color: #ffffff;
box-shadow: inset 0 0 10px rgba(0, 192, 255, 0.2);
}
.tech-form :deep(.el-input__inner:focus),
.tech-form :deep(.el-textarea__inner:focus) {
border-color: #00c0ff;
box-shadow: 0 0 12px rgba(0, 192, 255, 0.7), inset 0 0 10px rgba(0, 192, 255, 0.3);
}
.tech-form :deep(.el-radio__label),
.tech-form :deep(.el-checkbox__label) {
color: #c0c4d3;
}
.tech-form :deep(.el-radio__input.is-checked .el-radio__inner),
.tech-form :deep(.el-checkbox__input.is-checked .el-checkbox__inner) {
background-color: #00c0ff;
border-color: #00c0ff;
box-shadow: 0 0 8px rgba(0, 192, 255, 0.6);
}
.tech-form :deep(.el-radio__input.is-checked + .el-radio__label),
.tech-form :deep(.el-checkbox__input.is-checked + .el-checkbox__label) {
color: #00c0ff;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
@keyframes scan-line {
0% {
transform: translateY(-100%);
}
100% {
transform: translateY(2000px);
}
}
@keyframes button-shine {
to {
left: 100%;
}
}
@keyframes pulse-glow {
0% {
box-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
50% {
box-shadow: 0 0 20px rgba(0, 192, 255, 0.8);
}
100% {
box-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
}
.el-textarea__inner {
background-color: rgba(0, 30, 60, 0.6) !important;
border: 1px solid rgba(0, 192, 255, 0.5) !important;
color: #ffffff !important;
}
.el-input__wrapper {
background-color: rgba(0, 30, 60, 0.6) !important;
border: 1px solid rgba(0, 192, 255, 0.5) !important;
box-shadow: none !important;
}
.el-input__inner {
color: #ffffff !important;
transition: all 0.3s ease;
}
.el-input__wrapper {
background-color: rgba(0, 30, 60, 0.6) !important;
border: 1px solid rgba(0, 192, 255, 0.5) !important;
box-shadow: none !important;
transition: all 0.3s ease;
}
.el-input__wrapper:hover {
border-color: rgba(0, 192, 255, 0.8) !important;
box-shadow: 0 0 8px rgba(0, 192, 255, 0.3) !important;
}
.el-input__wrapper:focus-within {
border-color: #00c0ff !important;
box-shadow: 0 0 12px rgba(0, 192, 255, 0.5) !important;
}
.el-select {
width: 100%;
}
.el-select__wrapper {
background-color: rgba(0, 30, 60, 0.6) !important;
border: 1px solid rgba(0, 192, 255, 0.5) !important;
color: #ffffff !important;
box-shadow: none !important;
transition: all 0.3s ease;
}
.el-select__wrapper:hover {
border-color: rgba(0, 192, 255, 0.8) !important;
box-shadow: 0 0 8px rgba(0, 192, 255, 0.3) !important;
}
.el-popper.is-light,
.el-popper.is-light > .el-popper__arrow:before {
background: rgba(0, 40, 80, 0.95) !important;
border-color: rgba(0, 192, 255, 0.4) !important;
box-shadow: 0 0 15px rgba(0, 192, 255, 0.3) !important;
}
.el-select__popper.el-popper,
.el-select__popper.el-popper .el-popper__arrow:before {
border-color: rgba(0, 192, 255, 0.4) !important;
}
.el-select-dropdown__item {
color: #e0e0e0 !important;
transition: all 0.2s ease;
}
.el-select-dropdown__item.is-hovering {
background-color: rgba(0, 192, 255, 0.15) !important;
color: #ffffff !important;
}
.el-select-dropdown__item.selected {
background-color: rgba(0, 192, 255, 0.25) !important;
color: #00c0ff !important;
font-weight: bold;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.5);
}
.el-select__placeholder {
color: rgba(255, 255, 255, 0.6) !important;
}
.el-pagination {
background-color: transparent !important;
padding: 8px 12px !important;
border-radius: 4px !important;
box-shadow: 0 0 10px rgba(0, 192, 255, 0.15) !important;
border: 1px solid rgba(0, 192, 255, 0.3) !important;
}
.el-pagination .el-pagination__total,
.el-pagination .el-pagination__jump,
.el-pagination .el-pagination__sizes {
color: #e0e0e0 !important;
text-shadow: 0 0 3px rgba(0, 192, 255, 0.4) !important;
}
.el-pagination .el-pager li {
background-color: rgba(0, 30, 60, 0.5) !important;
color: #e0e0e0 !important;
border: 1px solid rgba(0, 192, 255, 0.3) !important;
transition: all 0.3s ease !important;
margin: 0 2px !important;
}
.el-pagination .el-pager li:hover {
background-color: rgba(0, 192, 255, 0.15) !important;
border-color: rgba(0, 192, 255, 0.6) !important;
box-shadow: 0 0 8px rgba(0, 192, 255, 0.3) !important;
}
.el-pagination .el-pager li.is-active {
background-color: rgba(0, 192, 255, 0.25) !important;
color: #00c0ff !important;
border-color: #00c0ff !important;
box-shadow: 0 0 10px rgba(0, 192, 255, 0.5) !important;
text-shadow: 0 0 5px rgba(0, 192, 255, 0.6) !important;
font-weight: bold !important;
}
.el-pagination .btn-prev,
.el-pagination .btn-next {
background-color: rgba(0, 30, 60, 0.5) !important;
color: #e0e0e0 !important;
border: 1px solid rgba(0, 192, 255, 0.3) !important;
transition: all 0.3s ease !important;
}
.el-pagination .btn-prev:hover,
.el-pagination .btn-next:hover {
background-color: rgba(0, 192, 255, 0.15) !important;
border-color: rgba(0, 192, 255, 0.6) !important;
box-shadow: 0 0 8px rgba(0, 192, 255, 0.3) !important;
}
.el-pagination .btn-prev:disabled,
.el-pagination .btn-next:disabled,
.el-pagination .el-pager li.is-disabled {
background-color: rgba(0, 30, 60, 0.3) !important;
color: rgba(255, 255, 255, 0.3) !important;
border-color: rgba(0, 192, 255, 0.1) !important;
cursor: not-allowed !important;
}
.el-pagination .el-pagination__editor.el-input .el-input__inner {
background-color: rgba(0, 30, 60, 0.5) !important;
border: 1px solid rgba(0, 192, 255, 0.5) !important;
color: #ffffff !important;
transition: all 0.3s ease !important;
}
.el-pagination .el-pagination__editor.el-input .el-input__inner:focus {
border-color: #00c0ff !important;
box-shadow: 0 0 8px rgba(0, 192, 255, 0.5) !important;
}