晚秋/styles.css
来自RIA | Wiki
更多操作
@keyframes catchEntryLeft {
from {
opacity: 0;
transform: translateX(-12px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes catchEntryRight {
from {
opacity: 0;
transform: translateX(12px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes catchSweep {
0% {
background-position: -25% 50%;
background-size: 0% 100%;
}
45% {
background-position: -25% 50%;
background-size: 100% 100%;
}
55% {
background-position: 125% 50%;
background-size: 100% 100%;
}
100% {
background-position: 125% 50%;
background-size: 0% 100%;
}
}
@keyframes catchPlaceholder {
0%, 48% {
opacity: 1;
}
52%, 100% {
opacity: 0;
}
}
@keyframes catchText {
0%, 48% {
opacity: 0;
}
52%, 100% {
opacity: 1;
}
}
@keyframes catchCover {
0% {
left: 0;
width: 0%;
}
45% {
left: 0;
width: 100%;
}
55% {
left: 0;
width: 100%;
}
100% {
left: 100%;
width: 0%;
}
}
.intro {
display: flex;
flex-direction: column;
align-items: center;
}
.intro p {
margin: 0.2em 0;
}
.catch-line--left {
position: relative;
display: inline-block;
padding: 0.2em 0.5em;
background-image: linear-gradient(90deg, #f7c873, #f7c873);
background-repeat: no-repeat;
background-position: -25% 50%;
background-size: 0% 100%;
opacity: 0;
transform: translateY(12px);
white-space: nowrap;
overflow: hidden;
animation:
catchEntryLeft 0.8s 1.6s ease forwards,
catchSweep 0.6s ease-in-out 2.6s both;
}
.catch-line--right {
position: relative;
display: inline-block;
padding: 0.2em 0.5em;
background-image: linear-gradient(90deg, #f7c873, #f7c873);
background-repeat: no-repeat;
background-position: -25% 50%;
background-size: 0% 100%;
opacity: 0;
transform: translateY(12px);
white-space: nowrap;
overflow: hidden;
animation:
catchEntryRight 0.8s 1.7s ease forwards,
catchSweep 0.6s ease-in-out 2.9s both;
}
.catch-line--left::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 0;
background: linear-gradient(90deg, #f7c873, #f7c873);
z-index: 1;
animation: catchCover 0.6s ease-in-out 2.6s both;
}
.catch-line--right::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 0;
background: linear-gradient(90deg, #f7c873, #f7c873);
z-index: 1;
animation: catchCover 0.6s ease-in-out 2.9s both;
}
.catch-line__placeholder,
.catch-line__text {
display: inline-block;
}
.catch-line__placeholder {
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: 1;
z-index: 2;
}
.catch-line__text {
position: relative;
z-index: 0;
opacity: 0;
}
.catch-line__placeholder-left {
animation: catchPlaceholder 0.9s ease-in-out 2.6s forwards;
}
.catch-line__placeholder-right {
animation: catchPlaceholder 0.9s ease-in-out 2.9s forwards;
}
.catch-line__text-left {
animation: catchText 0.6s ease-in-out 2.65s forwards;
}
.catch-line__text-right {
animation: catchText 0.6s ease-in-out 2.95s forwards;
}
.poem-em {
font-weight: 600;
color: #f7c873;
letter-spacing: normal;
display: inline-block;
text-shadow: 0 0 12px rgba(247, 200, 115, 0.7);
}