模板:Index/AboutEaseCationWiki/styles.css
来自EaseCation Wiki
更多操作
@keyframes ae-flow {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
@keyframes ae-float-1 {
0%, 100% {
transform: translate(0, 0) rotate(0deg);
opacity: 0.3;
}
25% {
transform: translate(30px, -40px) rotate(90deg);
opacity: 0.6;
}
50% {
transform: translate(60px, -20px) rotate(180deg);
opacity: 0.4;
}
75% {
transform: translate(40px, -60px) rotate(270deg);
opacity: 0.7;
}
}
@keyframes ae-float-2 {
0%, 100% {
transform: translate(0, 0) rotate(0deg);
opacity: 0.4;
}
33% {
transform: translate(-40px, -30px) rotate(120deg);
opacity: 0.6;
}
66% {
transform: translate(-20px, -70px) rotate(240deg);
opacity: 0.5;
}
}
@keyframes ae-float-3 {
0%, 100% {
transform: translate(0, 0) scale(1);
opacity: 0.5;
}
50% {
transform: translate(50px, -50px) scale(1.3);
opacity: 0.7;
}
}
@keyframes ae-float-4 {
0%, 100% {
transform: translate(0, 0) rotate(0deg);
opacity: 0.3;
}
20% {
transform: translate(-30px, -20px) rotate(72deg);
opacity: 0.6;
}
40% {
transform: translate(-50px, -50px) rotate(144deg);
opacity: 0.4;
}
60% {
transform: translate(-20px, -80px) rotate(216deg);
opacity: 0.7;
}
80% {
transform: translate(-40px, -40px) rotate(288deg);
opacity: 0.5;
}
}
@keyframes ae-float-5 {
0%, 100% {
transform: translate(0, 0) rotate(0deg) scale(1);
opacity: 0.4;
}
30% {
transform: translate(40px, -30px) rotate(108deg) scale(1.1);
opacity: 0.6;
}
60% {
transform: translate(70px, -60px) rotate(216deg) scale(0.9);
opacity: 0.5;
}
}
.ae-card {
width: 100%;
min-height: 200px;
height: auto;
border-radius: 12px;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
padding: 15px;
box-sizing: border-box;
margin-bottom: 12px;
background-size: contain;
background-position: right center;
background-repeat: no-repeat;
background-color: #1a1a2e;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ae-card:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
/* 遮罩 + 流动渐变 */
.ae-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(270deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02), rgba(255,255,255,0.08), rgba(255,255,255,0.02));
background-size: 400% 400%;
animation: ae-flow 8s ease infinite;
z-index: 1;
pointer-events: none;
}
/* 漂浮粒子 */
.ae-particle {
position: absolute;
width: 6px;
height: 6px;
background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.3) 100%);
border-radius: 50%;
pointer-events: none;
z-index: 2;
}
.ae-p1 {
top: 20%;
left: 15%;
animation: ae-float-1 12s ease-in-out infinite;
}
.ae-p2 {
top: 60%;
left: 25%;
animation: ae-float-2 15s ease-in-out infinite;
animation-delay: -3s;
}
.ae-p3 {
top: 30%;
left: 45%;
animation: ae-float-3 10s ease-in-out infinite;
animation-delay: -5s;
width: 8px;
height: 8px;
}
.ae-p4 {
top: 70%;
left: 55%;
animation: ae-float-4 18s ease-in-out infinite;
animation-delay: -7s;
width: 5px;
height: 5px;
}
.ae-p5 {
top: 40%;
left: 70%;
animation: ae-float-5 14s ease-in-out infinite;
animation-delay: -2s;
width: 7px;
height: 7px;
}
/* QQ群卡片 - 蓝绿色调 */
.ae-card-qq {
background-image: url("https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/images/f/fb/Pet-%E5%B0%8F%E4%BC%81%E9%B9%85.png");
background-color: #1e3a5f;
}
.ae-card-qq .ae-particle {
background: radial-gradient(circle, rgba(100,200,255,0.9) 0%, rgba(100,200,255,0.3) 100%);
}
/* QQ频道卡片 - 紫蓝色调 */
.ae-card-channel {
background-image: url("https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/images/3/37/QQ%E9%A2%91%E9%81%93%E5%88%86%E4%BA%AB.jpg");
background-color: #2d1b69;
}
.ae-card-channel .ae-particle {
background: radial-gradient(circle, rgba(180,150,255,0.9) 0%, rgba(180,150,255,0.3) 100%);
}
.ae-card-title {
font-size: 1.6rem;
font-weight: bold;
color: #ffffff;
margin-bottom: 15px;
position: relative;
z-index: 3;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
align-self: flex-start;
transition: transform 0.3s ease;
}
.ae-card:hover .ae-card-title {
transform: translateX(5px);
}
.ae-card-text {
font-size: 1rem;
color: #f0f0f0;
line-height: 1.5;
margin-bottom: 15px;
position: relative;
z-index: 3;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
align-self: flex-start;
word-wrap: break-word;
overflow-wrap: break-word;
width: 60%;
max-width: 400px;
}
.ae-card-button {
padding: 8px 24px;
background: #ffffff;
color: #000;
font-size: 1rem;
font-weight: 600;
border: none;
border-radius: 6px;
cursor: pointer;
position: relative;
z-index: 3;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
align-self: flex-start;
margin-top: auto;
text-decoration: none;
display: inline-block;
}
.ae-card-button:hover {
transform: translateY(-2px) scale(1.05);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
background: #f8fafc;
}
.ae-card-button:active {
transform: translateY(0) scale(1);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.ae-card-button a, .ae-card-button a:visited {
color: #000 !important;
text-decoration: none !important;
}
/* 平板 */
@media (max-width: 1024px) {
.ae-card {
min-height: 180px;
padding: 20px;
}
.ae-card-text {
width: 65%;
}
}
/* 移动端 */
@media (max-width: 768px) {
.ae-card {
min-height: 200px;
padding: 15px;
background-size: auto 100%;
background-position: right center;
}
.ae-card:hover {
transform: translateY(-2px);
}
.ae-card-title {
font-size: 1.5rem;
margin-bottom: 10px;
}
.ae-card:hover .ae-card-title {
transform: translateX(3px);
}
.ae-card-text {
font-size: 0.95rem;
line-height: 1.4;
margin-bottom: 15px;
width: 55%;
}
.ae-card-button {
padding: 7px 18px;
font-size: 0.95rem;
}
/* 移动端减少粒子数量,提升性能 */
.ae-p4, .ae-p5 {
display: none;
}
}
/* 小屏手机 */
@media (max-width: 480px) {
.ae-card {
min-height: 180px;
padding: 12px;
background-size: auto 90%;
background-position: right bottom;
}
.ae-card:hover {
transform: translateY(-1px);
}
.ae-card-title {
font-size: 1.3rem;
margin-bottom: 8px;
}
.ae-card:hover .ae-card-title {
transform: translateX(2px);
}
.ae-card-text {
font-size: 0.88rem;
line-height: 1.3;
width: 60%;
}
.ae-card-button {
padding: 6px 16px;
font-size: 0.88rem;
}
}
/* 超小屏幕 */
@media (max-width: 360px) {
.ae-card {
min-height: 170px;
background-size: auto 80%;
background-position: right bottom;
}
.ae-card-title {
font-size: 1.2rem;
}
.ae-card-text {
font-size: 0.82rem;
width: 65%;
}
}
/* 尊重用户的动画偏好设置 */
@media (prefers-reduced-motion: reduce) {
.ae-particle,
.ae-card::before {
animation: none;
}
}