-
Xingan Zhao authoredXingan Zhao authored
App.css 20.86 KiB
@font-face {
font-family: 'pangolin';
src: url('https://static.igem.wiki/teams/5378/font/pangolin-regular.woff2') format('woff2'),
url('https://static.igem.wiki/teams/5378/font/pangolin-regular.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'LexieReadable';
src: url('https://static.igem.wiki/teams/5378/font/lexiereadable-regular.woff') format('woff2'),
url('https://static.igem.wiki/teams/5378/font/lexiereadable-bold.woff') format('woff');
font-weight: normal;
font-style: normal;
}
body {
padding-top: 56px;
overflow-x: hidden;
/* overflow-y: hidden; */
cursor: url("https://static.igem.wiki/teams/5378/image/dg-cursor.png") 2 2, auto;
font-family: 'LexieReadable', cursive !important;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 30px !important;
/* cursor: help; */
}
body a,
body button,
body input[type="button"],
body input[type="submit"],
body [role="button"],
body [onclick] {
cursor: url('https://static.igem.wiki/teams/5378/image/pointer.png') 32 32, pointer;
}
h1 {
font-size: 2rem;
font-weight: bold;
line-height: 1.5;
}
h2 {
font-size: 1.6rem;
font-weight: bold;
line-height: 1.5;
}
h3 {
font-size: 1.3rem;
font-weight: bold;
line-height: 1.5;
}
h4 {
font-size: 1.2rem;
font-weight: bold;
line-height: 1.5;
}
.pangolin {
font-family: 'pangolin', cursive !important;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.LexieReadable {
font-family: 'LexieReadable', cursive !important;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.left-aligned {
margin-left: auto;
}
.bg-gray {
background-color: #A9A9A9;
}
.bg-dark {
background-color: #343a40 !important;
}
.bg-hero {
background-color: #45b06cff;
}
.bg-rice_yellow {
background-color: rgb(245, 245, 220);
}
.bg-wine-red {
background-color: #722F37;
}
/* CALLOUT */
.bd-callout {
padding: 1.25rem;
margin-top: 1.25rem;
margin-bottom: 1.25rem;
border: 1px solid #afc1d3;
border-left-width: 0.5rem;
border-radius: 0.25rem;
}
.bd-callout h4 {
margin-bottom: 0.25rem;
}
.bd-callout p:last-child {
margin-bottom: 0;
}
.bd-callout code {
border-radius: 0.25rem;
}
.bd-callout + .bd-callout {
margin-top: -0.25rem;
}
.bd-callout-info {
border-left-color: #5bc0de;
}
.bd-callout-warning {
border-left-color: #f0ad4e;
}
.bd-callout-danger {
border-left-color: #d9534f;
}
/* footer */
footer a {
color: white;
font-weight: bold;
text-decoration: none;
}
footer a:hover {
color: white;
text-decoration: underline;
}
/* navbar */
.custom-dropdown-menu {
/* navbar folder的设置 */
/* background-color: #1b1a1a; //自定义背景色 */
color: #030303; /* 自定义文字颜色 */
/* margin-left: 4vw;
margin-right: 0vw; */
cursor: url('https://static.igem.wiki/teams/5378/image/pointer.png') 32 32, pointer;
}
.custom-dropdown-menu.dropdown-item {
/* navbar folder 展开时字体颜色与背景 */
/* background-color: #4d4949; */
color: #000000; /* 自定义每个菜单项的文字颜色 */
border-radius: 50px;
cursor: url('https://static.igem.wiki/teams/5378/image/pointer.png') 32 32, pointer;
}
.custom-dropdown-menu.dropdown-item:hover {
background-color: #e4dfb4; /* 鼠标悬停时的背景色 */
color: #39d197; /* 鼠标悬停时的文字颜色 */
}
/* .custom-nav-item {
margin-left: 200px;
margin-right: 200px;
} */
/* header */
.custom-header-home {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-team {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-attributions {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-contribution {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-description {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-education {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-engineering {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-experiments {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-human-practices {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-inclusivity {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-model {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-notebook {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-results {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-safety {
width: 100vw;
height: 100vh;
background-image: url('https://static.igem.wiki/teams/5378/safety/0111111111.webp'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-collaboration {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-parts {
width: 100vw;
height: 100vh;
background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
background-size: cover; /* 使背景图片覆盖整个容器 */
background-position: center; /* 居中对齐背景图片 */
background-repeat: no-repeat; /* 防止背景图片重复 */
background-attachment: fixed; /* 固定背景图片,使其在滚动时不移动 */
}
.header-bar {
position:absolute;
width: 100vw;
height: 100vh;
margin-bottom: 0px;
z-index: 1;
}
.promotion-video {
width: 100%;
height: 50vh; /* 设置高度为视口高度的80% */
border: none;
border-radius: 30px; /* 圆角效果 */
}
.responsive-img {
width: 100%; /* 图片宽度自适应容器 */
height: auto; /* 保持图片纵横比 */
display: block; /* 去掉图片下方的空隙 */
margin: 2px;
}
.full-height-element {
height: 100vh; /* 设置元素的高度为视口高度的 100% */
}
/* 以下几个是team member响应式卡片 */
.card-container {
max-width: 300px;
margin: auto;
height: auto;
margin-bottom: 150px;
}
.card {
transition: transform 0.2s;
width: 100%;
border: 15px solid rgba(114, 47, 55, 1) !important;
background-color: rgba(114, 47, 55, 1) !important;
border-radius: 10px !important;
/* height: 400px; */
}
.card-body {
display: flex;
align-items: center;
justify-content: center;
}
.card-title {
display: flex;
align-items: center;
font-size: large;
border-radius: 20px;
background-color: #e4dfb4b0;
padding: 15px;
}
.card-img-top {
width: 100%;
height: auto;
}
.card-container:hover .card {
transform: scale(1.05);
}
.sticky-container {
position: sticky;
top: 120px; /* 设置元素在滚动时保持与页面顶部的距离 */
margin: 10px;
margin-bottom: 150px;
padding: 30px;
border: 5px solid rgba(114, 47, 55, 1);
border-radius: 10px;
background-color: #f77001a6;
height: auto;
padding-bottom: 0px;
}
.sticky-words {
font-size: large;
/* display: flex;
align-items: center;
justify-items: center; */
}
.sticky-img {
width: 100%; /* 图片宽度自适应容器 */
height: auto; /* 保持图片纵横比 */
/* display: block; 去掉图片下方的空隙 */
margin: 2px;
/* max-height: 60vh; */
}
.sticky-description {
background-color: #e4dfb4b0;
border-radius: 20px;
padding: 5px;
margin-top: 5px;
}
.row-custom-height-card {
height: 300px; /* 你可以根据需要调整高度 */
}
.row-custom-height-card-space {
height: 100px; /* 你可以根据需要调整高度 */
}
/* wet-lab,dry-lab用的内容框框 */
.rounded-border {
margin: 50px;
padding: 50px;
border: 2px solid #e4dfb4b0;
/* 设置边框的宽度和颜色 */
border-radius: 10px; /* 设置圆角半径 */
margin-bottom: 100px;
margin-left: 20px;
/* max-width: 0.9vw; */
background-color: #e4dfb4b0;
/* box-shadow: 15px 15px 5px rgba(0,0,0,0.1); */
/* display: flex;
flex-direction: column; */
}
.rounded-border:hover {
margin: 50px;
margin-left: 20px;
padding: 50px;
border: 2px solid #e4dfb4b0;
/* 设置边框的宽度和颜色 */
border-radius: 10px; /* 设置圆角半径 */
margin-bottom: 100px;
/* max-width: 0.9vw; */
background-color: #e4dfb4b0;
box-shadow: 10px 10px 5px rgba(0,0,0,0.1);
transform: scale(1.01);
}
.rounded-border.rounded-border{
margin: 50px;
padding: 50px;
border: 2px solid #f7a901;
/* 设置边框的宽度和颜色 */
border-radius: 10px; /* 设置圆角半径 */
margin-bottom: 100px;
/* max-width: 0.9vw; */
background-color: #ffa600c0;
}
.rounded-border.rounded-border:hover{
margin: 50px;
padding: 50px;
border: 2px solid #f7a901;
/* 设置边框的宽度和颜色 */
border-radius: 10px; /* 设置圆角半径 */
margin-bottom: 100px;
/* max-width: 0.9vw; */
background-color: #ffa600c0;
box-shadow: 10px 10px 5px rgba(0,0,0,0.1);
transform: scale(1.01);
}
/* 页面title的水平与垂直居中 */
.centered-title {
height: 100%; /* Full height of the container */
display: flex;
align-items: center; /* Vertical center */
justify-content: center; /* Horizontal center */
}
/* 文本居中 */
.center-text {
text-align: center; /* 将文本水平居中 */
}
/* 文本开头有缩进,起到空格作用 */
.indent {
text-indent: 20px; /* 设置首行缩进 20px */
}
.side-navbar {
width: 250px;
position: sticky;
top: 200px;
left: 0;
height: auto;
background-color: rgb(245, 245, 220);
padding: 20px;
box-shadow: 2px 0 5px rgba(0,0,0,0.1);
/* margin-top: 500px; */
margin-left: 20px;
padding: 20px;
margin-top: 100px;
/* padding-top: 140px; */
}
.side-navbar .nav-link {
margin-bottom: 10px;
font-weight: bold;
cursor: pointer;
}
.side-navbar .nav-link.active {
background-color: rgb(172, 172, 108);
cursor: url('https://static.igem.wiki/teams/5378/image/pointer.png') 32 32, pointer;
}
.side-navbar .nav-link.notActive {
background-color: rgb(245, 245, 220);
cursor: url('https://static.igem.wiki/teams/5378/image/pointer.png') 32 32, pointer;
}
.side-navbar .nav-link.notActive:hover {
background-color: rgb(204, 204, 168);
}
.bold-font{
font-weight: bold;
}
.red-font{
color: #d9534f;
}
.blue-font{
color: #5bc0de;
}
.green-font{
color: #39d197;
}
/* footer的切换动画 */
.slideshow-container {
position: relative;
max-width: 100%;
height: 200px;
overflow: hidden;
justify-content: center; /* Center horizontally */
align-items: center; /* Center vertically */
}
.slide {
position: absolute;
/* width: 100%; */
/* height: 100%; */
left: 40%;
opacity: 0;
transition: opacity 1s ease-in-out;
justify-content: center; /* Center horizontally */
align-items: center; /* Center vertically */
}
.fade-img {
/* width: auto; */
height: 200px;
object-fit: cover;
}
.fade1 {
animation: fade1 9s infinite;
}
@keyframes fade1 {
0% { opacity: 0; }
5% { opacity: 1; }
30% { opacity: 1; }
35% { opacity: 0; }
100% { opacity: 0; }
}
.fade2 {
animation: fade2 9s infinite;
}
@keyframes fade2 {
0% { opacity: 0; }
30% { opacity: 0; }
35% { opacity: 1; }
65% { opacity: 1; }
70% { opacity: 0; }
100% { opacity: 0; }
}
.fade3 {
animation: fade3 9s infinite;
}
@keyframes fade3 {
0% { opacity: 0; }
65% { opacity: 0; }
70% { opacity: 1; }
95% { opacity: 1; }
100% { opacity: 0; }
}
.wave-container {
position: relative;
width: 100%;
height: 50px; /* Full viewport height */
overflow: hidden;
}
.wave1 {
position: absolute;
bottom: -50px;
left: 0;
width: 200%; /* Ensure the wave extends beyond the viewport */
height: 100px; /* Height of the wave */
background: linear-gradient(90deg, rgba(114, 47, 55, 1) 0%, rgba(114, 47, 55, 0.4) 100%);
border-radius: 100%;
transform: rotate(180deg);
animation: wave1Animation 10s linear infinite;
}
@keyframes wave1Animation {
0% {
transform: translateX(-100%) rotate(180deg);
}
100% {
transform: translateX(100%) rotate(180deg);
}
}
.wave2 {
position: absolute;
bottom: -50px;
left: 0;
width: 200%; /* Ensure the wave extends beyond the viewport */
height: 100px; /* Height of the wave */
background: linear-gradient(90deg, rgba(114, 47, 55, 1) 0%, rgba(114, 47, 55, 0.4) 100%);
border-radius: 100%;
transform: rotate(180deg);
animation: wave2Animation 30s linear infinite;
}
@keyframes wave2Animation {
0% {
transform: translateX(-100%) rotate(180deg);
}
100% {
transform: translateX(100%) rotate(180deg);
}
}
.wave3 {
position: absolute;
bottom: -50px;
left: 0;
width: 200%; /* Ensure the wave extends beyond the viewport */
height: 100px; /* Height of the wave */
background: linear-gradient(90deg, rgba(114, 47, 55, 0.8) 0%, rgba(114, 47, 55, 0.4) 100%);
border-radius: 100%;
transform: rotate(180deg);
animation: wave3Animation 15s linear infinite;
}
@keyframes wave3Animation {
0% {
transform: translateX(50%) rotate(180deg);
}
100% {
transform: translateX(-150%) rotate(180deg);
}
}
.wave4 {
position: absolute;
bottom: -50px;
left: 0;
width: 200%; /* Ensure the wave extends beyond the viewport */
height: 100px; /* Height of the wave */
background: linear-gradient(90deg, rgba(114, 47, 55, 0.5) 0%, rgba(114, 47, 55, 0.5) 100%);
border-radius: 100%;
transform: rotate(180deg);
animation: wave4Animation 50s linear infinite;
}
@keyframes wave4Animation {
0% {
transform: translateX(0%) rotate(180deg);
}
100% {
transform: translateX(-100%) rotate(180deg);
}
}
.center-block {
height: 40%;
}
.fullpage-container {
scroll-snap-type: y mandatory; /* 启用垂直方向捕捉 */
height: 100vh;
width: 101vw;
overflow-y: scroll;
overflow-x: hidden;
/* overflow-y: hidden; */
}
.section {
padding-top: 100px;
height: 100vh;
/* display: flex;
justify-content: center;
align-items: center;
font-size: 3rem; */
scroll-snap-align: start; /* 滚动到页面开始 */
transition: transform 0.5s ease-in-out; /* 添加滚动动画 */
}
.vh20 {
height: 20vh;
}
.mt--8 {
margin-top: -8vh;
}
.height100 {
height: 100%;
}
.navbar-img {
height: 80px;
width:auto;
}
.header-img {
height: 30%;
width: auto;
position: relative;
z-index: 2;
}
.center-div {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
/* formula style*/
div.formula_content {
position: relative;
margin: 0 auto; /* 容器水平居中 */
overflow-x: auto; /* 如果公式太长,允许水平滚动 */
white-space: nowrap; /* 防止公式换行 */
text-align: center;
font-size: 0.9em;
display: flex; /* 使用Flexbox布局 */
align-items: center; /* 垂直居中所有子元素 */
}
div.formula_content .formula_line {
flex: 0 0 80%; /* 分配80%宽度,不允许伸缩 */
text-align: left; /* 公式左对齐 */
max-width: 80%; /* 最大宽度为80% */
overflow-x: auto; /* 超出部分显示滚动条 */
white-space: nowrap; /* 防止公式换行 */
}
div.formula_content .formula_number {
flex: 0 0 20%; /* 分配20%宽度,不允许伸缩 */
text-align: left; /* 数字右对齐 */
}
span.formula_line::-webkit-scrollbar {
width: 3px;
height: 3px;
}
span.formula_line::-webkit-scrollbar-thumb {
background-color: #f5deb3; /* 滚动条滑块的淡黄色 */
border-radius: 10px; /* 使滚动条更圆滑 */
}
span.formula_line::-webkit-scrollbar-track {
background: transparent; /* 滚动条背景透明 */
}
.margin-0 {
margin: 0px !important;
}
.model-font p {
padding-right: 20% !important;
}
.footer-container {
display: flex;
align-items: center;
justify-content: center;
}
.margin-20 {
margin: 20px;
}
.caption {
display: flex;
font-size: 14px;
color: #555;
margin-top: 8px;
font-style: italic;
align-items: center;
justify-content: center;
}
.image-wide {
width: 70%;
height: auto;
}
.image-height {
width: auto;
height: 70vh;
}
.image-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}