Files
labweb/public/css/Search_result.css
2025-12-16 11:39:15 +08:00

1226 lines
21 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.wrapper {
width: 90%;
margin: 0 auto;
box-sizing: border-box;
}
/* header */
.header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 5% 0 2%;
gap: 20px;
background-color: #2D6B7D;
}
.header .logo {
display: flex;
flex: 1 1 auto;
max-width: 55%;
min-width: 0;
align-items: center;
margin: 0;
border-radius: 20px;
font-size: 120%;
font-weight: 700;
}
.header .logo img {
height: 80px;
width: auto;
object-fit: contain;
display: block;
}
.header .logo .title {
margin-left: 2%;
width: auto;
display: flex;
flex-direction: row;
align-items: baseline;
gap: 8px;
flex-wrap: wrap;
overflow: hidden;
}
.header .logo .title h3 {
font-size: 110%;
color: white;
font-weight: 600;
margin: 0;
white-space: normal;
line-height: 1.2;
}
.header .logo .title p {
font-size: 80%;
color: white;
margin: 0;
white-space: normal;
line-height: 1.2;
}
.header .nev {
flex: 0 1 auto;
height: 100%;
min-width: 0;
}
.header .nev .nev-child-1 {
display: flex;
width: 100%;
height: 100%;
justify-content: flex-end;
align-items: center;
}
.header .nev-child-1 li {
padding: 1% 2%;
border-radius: 10px;
position: relative;
list-style: none;
}
/* 鼠标悬停导航栏 */
.header li:hover a {
color: black;
}
.header .icon-jiantou_shang {
display: none;
}
.header li:hover .icon-jiantou_xia {
display: none;
}
.header li:hover .icon-jiantou_shang {
display: inline-block;
}
/* 箭头图标对齐样式 */
.header .icon-jiantou_xia,
.header .icon-jiantou_shang {
font-size: 12px;
vertical-align: middle;
line-height: 1;
margin-left: 4px;
}
.header a {
font-size: 150%;
font-weight: 700;
color: white;
display: inline-flex;
align-items: center;
gap: 5px;
}
.header .nev-child-2 {
display: none;
position: absolute;
top: 70%;
left: 50%;
transform: translateX(-50%) translateY(-10px);
background: linear-gradient(135deg, #ffffff 0%, #f8fbfc 100%);
border-radius: 12px;
box-shadow: 0 12px 35px rgba(46, 90, 97, 0.2);
border: 1px solid rgba(46, 90, 97, 0.08);
overflow: hidden;
z-index: 9999;
opacity: 0;
visibility: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 8px;
min-width: 200px;
}
/* 下拉菜单顶部小箭头 */
.header .nev-child-2::before {
content: '';
position: absolute;
top: -8px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid #ffffff;
filter: drop-shadow(0 -2px 4px rgba(46, 90, 97, 0.1));
}
.header .nev-child-2 li {
width: 100%;
background-color: transparent;
text-align: left;
border-bottom: 1px solid rgba(46, 90, 97, 0.08);
font-weight: 400;
transition: all 0.2s ease;
}
.header .nev-child-2 li:nth-last-child(1) {
border-bottom: none;
}
.header .nev-child-2 li a {
display: flex;
align-items: center;
padding: 14px 10px;
color: #2E5A61;
text-decoration: none;
font-size: 100%;
font-weight: 500;
position: relative;
transition: all 0.2s ease;
white-space: nowrap;
}
.header .nev-child-2 li a:before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0;
z-index: -1;
}
.header .nev-child-2 li:hover {
background-color: rgba(71, 183, 190, 0.05);
transform: translateX(3px);
}
.header .nev-child-2 li:hover a {
color: #2E5A61;
}
.header .nev-child-2 li:hover a:before {
width: 4px;
}
/* 每个菜单项的特色样式 */
.header .nev-child-2 li:nth-child(1):hover {
background: linear-gradient(90deg, rgba(255, 193, 7, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(2):hover {
background: linear-gradient(90deg, rgba(220, 53, 69, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(3):hover {
background: linear-gradient(90deg, rgba(255, 87, 34, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(4):hover {
background: linear-gradient(90deg, rgba(76, 175, 80, 0.1), transparent);
}
.header .nev-child-2 li:nth-child(5):hover {
background: linear-gradient(90deg, rgba(156, 39, 176, 0.1), transparent);
}
/* 菜单项动画序列 */
.header li:hover .nev-child-2 li {
animation: slideInFromLeft 0.3s ease forwards;
opacity: 0;
transform: translateX(-20px);
}
.header li:hover .nev-child-2 li:nth-child(1) { animation-delay: 0.1s; }
.header li:hover .nev-child-2 li:nth-child(2) { animation-delay: 0.15s; }
.header li:hover .nev-child-2 li:nth-child(3) { animation-delay: 0.2s; }
.header li:hover .nev-child-2 li:nth-child(4) { animation-delay: 0.25s; }
.header li:hover .nev-child-2 li:nth-child(5) { animation-delay: 0.3s; }
@keyframes slideInFromLeft {
to {
opacity: 1;
transform: translateX(0);
}
}
/* 下拉菜单显示动画 */
.header li:hover .nev-child-2 {
display: block;
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.content {
width: 100%;
padding: 20px 0;
background-color: #eff5ff;
}
.content .detail-content {
border-radius: 8px;
padding: 20px 2%;
background-color: #fff;
}
.content .detail-header {
display: flex;
}
.content .goback {
border: none;
background-color: #2f545b;
font-size: 100%;
margin-right: 20px;
color: white;
border-radius: 10px;
padding: 0 15px;
}
.content .goback:hover {
cursor: pointer;
}
.content h1 {
color: #2E5A61;
font-size: 120%;
}
.content .target-species {
border: 1px solid #bdbaba;
border-radius: 10px;
margin: 10px 0;
padding: 10px 0;
}
/* 通用渐变背景类 */
.gradient-bg {
background: linear-gradient(135deg, #4A90A4, #6BC8D1);
}
.content .target-species p,
.content .media p {
/* background: linear-gradient(135deg, #4A90A4, #6BC8D1); */
font-size: 120%;
padding: 5px 2%;
}
.content .mic_info_item {
padding: 10px 2%;
border-bottom: 1px solid #bdbaba;
}
.content .mic_info_item:last-child {
border-bottom: none;
display: flex;
}
.content .mic_info_item span:first-child {
display: inline-block;
width: 10%;
font-weight: 600;
color: #333;
}
.content .media {
border: 1px solid #bdbaba;
border-radius: 10px;
margin: 10px 0;
padding: 10px 0;
}
.content .media-item {
padding: 10px 2%;
border-bottom: 1px solid #f0f0f0;
}
.content .media-item:last-child {
border-bottom: none;
}
.content .media-item h4 {
font-weight: 600;
color: #333;
margin-bottom: 8px;
}
/* 相关信息样式 */
.related_info {
width: 100%;
margin: 5px 0 15px 0;
padding-top: 10px;
border-radius: 10px;
border: 1px solid #bdbaba;
position: relative;
}
/* 引用卡片样式 - 用于标题栏 */
.citation-card {
flex: 1;
min-height: 30px;
padding: 0;
margin-bottom: 10px;
overflow: visible;
display: flex;
align-items: center;
}
/* 青绿色横幅 */
.citation-banner {
top: 0;
left: -8px;
background: #20B2AA;
color: white;
padding: 5px 25px 5px 15px;
font-size: 110%;
font-weight: 600;
/* text-transform: uppercase; */
letter-spacing: 0.5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
z-index: 10;
clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
white-space: nowrap;
}
.citation-banner span {
position: relative;
z-index: 1;
}
/* 微生物链接样式 */
.microbial-link {
cursor: pointer;
text-decoration: none;
/* transition: all 0.2s ease; */
}
.microbial-link:hover {
color: #0056b3;
text-decoration: underline;
}
.related-header {
display: flex;
justify-content: space-between;
align-items: flex-start; /* 改为 flex-start让横幅能正确显示 */
margin-bottom: 15px;
padding: 0;
position: relative;
}
.related-header p {
/* background: linear-gradient(135deg, #4A90A4, #6BC8D1); */
font-size: 120%;
padding: 5px 2%;
margin: 0;
flex: 1;
}
.related-controls {
display: flex;
align-items: center;
gap: 15px;
margin-top: 0; /* 确保控件与横幅顶部对齐 */
}
.taxonomy-selector {
display: flex;
align-items: center;
gap: 8px;
}
.taxonomy-selector label {
font-size: 14px;
color: #495057;
font-weight: 500;
}
.taxonomy-selector select {
padding: 4px 8px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 14px;
background-color: white;
}
.related-table {
overflow-x: auto;
max-height: 540px;
overflow-y: auto;
border: 1px solid #e9ecef;
border-radius: 8px;
}
.related-table table {
width: 100%;
border-collapse: collapse;
margin-top: 0;
}
.related-table table th,
.related-table table td {
padding: 8px 12px;
text-align: center;
border-bottom: 1px solid #e9ecef;
vertical-align: middle;
}
.related-table table td {
padding: 2px 12px;
}
.iconfont.icon-yingyangbaojian {
font-size: 30px;
font-weight: 700;
}
.related-table table th {
background-color: #e8f4f8;
font-weight: 600;
color: #495057;
position: sticky;
top: 0;
z-index: 10;
}
.related-table table tr {
transition: all 0.2s ease;
}
.related-table table tr:hover {
background-color: #f0f8ff;
}
/* 统计图表样式 */
.statistics {
width: 100%;
display: flex;
justify-content: space-evenly;
margin: 5px 10px;
}
.term {
width: 20%;
border: #bdbaba 1px solid;
box-sizing: border-box;
}
.term .type {
width: 100%;
padding: 5px 0;
text-align: center;
background-color: #E8F4F8;
color: black;
}
.chart-pH,
.chart-temp,
.chart-O2 {
width: 100%;
height: 200px;
font-size: 12px;
}
.chart-nutrition {
width: 100%;
height: 200px;
font-size: 12px;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.statistics {
flex-wrap: wrap;
gap: 10px;
}
.term {
width: 45%;
margin-bottom: 10px;
}
}
@media (max-width: 768px) {
.statistics {
flex-direction: column;
}
.term {
width: 100%;
margin-bottom: 15px;
}
}
.related-table table th:nth-child(1),
.related-table table td:nth-child(1) {
width: 8%;
min-width: 60px;
text-align: center;
}
.related-table table th:nth-child(2),
.related-table table td:nth-child(2) {
width: 15%;
min-width: 200px;
}
.related-table table th:nth-child(3),
.related-table table td:nth-child(3) {
width: 20%;
min-width: 200px;
}
.related-table table th:nth-child(4),
.related-table table td:nth-child(4) {
width: 10%;
min-width: 100px;
}
.related-table table th:nth-child(5),
.related-table table td:nth-child(5) {
width: 10%;
min-width: 60px;
text-align: center;
}
.related-table table th:nth-child(6),
.related-table table td:nth-child(6) {
width: 13%;
min-width: 100px;
text-align: center;
}
.related-table table th:nth-child(7),
.related-table table td:nth-child(7) {
width: 15%;
min-width: 80px;
text-align: center;
}
/* 表格底部控制区 */
.table-footer {
height: 60px;
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px;
background-color: #f8f9fa;
border-top: 1px solid #dee2e6;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
flex-wrap: wrap;
gap: 15px;
}
.left-controls {
display: flex;
align-items: center;
gap: 20px;
}
.rows-control {
display: flex;
align-items: center;
gap: 8px;
}
.rows-control label {
font-size: 14px;
color: #495057;
}
.rows-control select {
padding: 4px 8px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 14px;
}
/* 分页样式 */
.pagination {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.page-btn {
padding: 6px 12px;
border: 1px solid #ced4da;
background-color: white;
color: #495057;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
transition: all 0.3s ease;
}
.page-btn:hover:not(:disabled) {
background-color: #e9ecef;
}
.page-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.page-numbers {
display: flex;
gap: 4px;
}
.page-num {
padding: 6px 10px;
border: 1px solid #ced4da;
background-color: white;
color: #495057;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
transition: all 0.3s ease;
}
.page-num:hover {
background-color: #e9ecef;
}
.page-num.active {
background-color: #A37B6F;
color: white;
border-color: #A37B6F;
}
.goto-page {
display: flex;
align-items: center;
gap: 5px;
margin-left: 10px;
}
.goto-input {
width: 60px;
padding: 6px 8px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 14px;
text-align: center;
}
/* 下载按钮 */
.download-section {
position: absolute;
right: 3%;
padding: 10px 20px;
text-align: center;
background-color: #f8f9fa;
}
.download-btn {
background: #A37B6F;
color: white;
border: none;
padding: 10px 20px;
border-radius: 6px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
display: inline-flex;
align-items: center;
gap: 8px;
transition: all 0.3s ease;
}
.download-btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 8px #A37B6F;
color: black;
}
/* copyright */
.copyright {
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
}
.copyright .bottom {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
margin: 0 auto;
padding-top: 40px;
padding-bottom: 40px;
background-color: #1E3A4A;
}
.copyright .bottom p {
margin: 0 20px;
color: white;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.header .logo {
flex-direction: column;
align-items: flex-start;
gap: 15px;
}
.header .logo .search-box {
position: static;
width: 100%;
max-width: 400px;
}
.info-cards {
flex-direction: column;
gap: 15px;
}
.info-items {
grid-template-columns: 1fr;
}
.table-footer {
align-items: flex-start;
gap: 15px;
display: flex;
}
.pagination {
width: 100%;
justify-content: center;
}
}
@media (max-width: 1024px) {
.wrapper {
width: 90%;
}
.header {
width: 90%;
}
.copyright {
width: 90%;
}
.card-title {
font-size: 16px;
}
.species-name {
font-size: 18px;
}
.card-content {
padding: 15px;
}
.table-container {
overflow-x: auto;
}
.table-container table {
min-width: 600px;
}
}
@media (max-width: 768px) {
.header .nev-child-1 {
flex-wrap: wrap;
justify-content: center;
gap: 10px;
}
.header a {
font-size: 110%;
}
.main-card .card-header {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.card-id {
align-self: flex-end;
}
.card-title {
font-size: 14px;
}
.species-name {
font-size: 16px;
}
.card-content {
padding: 12px;
}
.info-item {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
.medium-item {
padding: 12px 15px;
}
.medium-content {
font-size: 13px;
}
.table-footer {
padding: 10px 15px;
}
.left-controls {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.pagination {
flex-wrap: wrap;
justify-content: center;
gap: 5px;
}
.page-numbers {
order: -1;
margin-bottom: 10px;
}
.goto-page {
margin-left: 0;
margin-top: 10px;
}
}
@media (max-width: 480px) {
.wrapper {
width: 95%;
}
.header {
width: 95%;
}
.copyright {
width: 95%;
}
.header .logo {
margin: 2% 0 0 1%;
font-size: 120%;
}
.header .nev-child-1 {
flex-direction: column;
text-align: center;
}
.header a {
font-size: 100%;
}
.main-card .card-header {
padding: 12px 15px;
}
.card-title {
font-size: 14px;
}
.card-title .card-icon {
font-size: 16px;
}
.card-id {
font-size: 12px;
padding: 4px 8px;
}
.species-name {
font-size: 16px;
margin-bottom: 15px;
}
.card-content {
padding: 10px;
}
.taxonomy-level {
font-size: 12px;
padding-left: 15px;
}
.medium-item {
padding: 10px 12px;
}
.medium-label {
font-size: 14px;
}
.medium-content {
font-size: 12px;
}
.table-container table {
min-width: 500px;
font-size: 12px;
}
.table-container table th,
.table-container table td {
padding: 8px 4px;
}
.table-footer {
padding: 8px 10px;
/* flex-direction: column; */
align-items: stretch;
}
.left-controls {
justify-content: space-between;
}
.pagination {
width: 100%;
justify-content: center;
margin-top: 10px;
}
.page-btn {
padding: 5px 8px;
font-size: 12px;
}
.page-num {
padding: 5px 8px;
font-size: 12px;
}
.goto-input {
width: 50px;
padding: 4px 6px;
font-size: 12px;
}
.download-btn {
padding: 8px 15px;
font-size: 12px;
}
.copyright .bottom {
flex-direction: column;
gap: 10px;
padding: 15px 0;
}
.copyright .bottom p {
margin: 0;
text-align: center;
font-size: 14px;
}
}
/* Header响应式设计 */
/* 1550px及以下 - 防止logo和nav重叠 */
@media (max-width: 1550px) {
.header {
gap: 15px;
}
.header .logo {
max-width: 50%;
}
.header .logo img {
height: 75px;
}
.header .logo .title {
margin-left: 1.5%;
}
.header .logo .title h3 {
font-size: 105%;
}
.header .logo .title p {
font-size: 75%;
}
.header .nev-child-1 {
gap: 12px;
}
.header .nev-child-1 li {
padding: 1% 1.5%;
}
.header a {
font-size: 130%;
}
}
/* 1350px及以下 - 进一步优化空间 */
@media (max-width: 1350px) {
.header .logo {
max-width: 48%;
}
.header .logo img {
height: 70px;
}
.header .logo .title h3 {
font-size: 100%;
}
.header .logo .title p {
font-size: 70%;
}
.header .nev-child-1 {
gap: 10px;
}
.header a {
font-size: 120%;
}
}
/* 1200px及以下 */
@media (max-width: 1200px) {
.header {
flex-wrap: wrap;
gap: 15px;
}
.header .logo {
max-width: 45%;
}
.header .logo img {
height: 65px;
}
.header .logo .title {
margin-left: 10px;
}
.header .logo .title h3 {
font-size: 95%;
}
.header .logo .title p {
font-size: 68%;
}
.header .nev-child-1 {
gap: 8px;
}
.header .nev-child-1 li {
padding: 1% 1.2%;
}
.header a {
font-size: 110%;
}
/* 调整下拉菜单定位 */
.header .nav-tools .tools-dropdown,
.header .nav-help .help-dropdown {
left: 50%;
}
}
@media (max-width: 992px) {
.header {
flex-direction: column;
align-items: center;
gap: 15px;
}
.header .logo {
max-width: 90%;
justify-content: center;
}
.header .nev {
width: 100%;
}
.header .nev-child-1 {
justify-content: center;
flex-wrap: wrap;
gap: 12px;
}
}
@media (max-width: 768px) {
.header .logo {
max-width: 100%;
}
.header .logo img {
height: 60px;
}
.header .logo .title h3 {
font-size: 90%;
}
.header .logo .title p {
font-size: 70%;
}
.header .nev-child-1 li {
padding: 8px 15px;
}
.header a {
font-size: 110%;
}
}
@media (max-width: 480px) {
.header .logo img {
height: 50px;
}
.header .logo .title h3 {
font-size: 85%;
}
.header .logo .title p {
display: none;
}
.header .nev-child-1 {
gap: 8px;
}
.header .nev-child-1 li {
padding: 6px 10px;
}
.header a {
font-size: 100%;
}
}