Files
RGKT/rg-09112127/css/indexHome.css
2025-10-10 19:44:14 +08:00

1199 lines
24 KiB
CSS

/* 全局样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Sans SC', sans-serif;
overflow-x: hidden;
/* background-color: #F7F7F5; */
color: #333;
}
/*欢迎来到课堂图片 */
.welcome-image {
width: 500px;
display: block;
margin-bottom: 10px;
}
.container {
width: 100%;
max-width: 1920px;
margin: 0 auto;
position: relative;
}
.home-title-sub-image { /* New rule for the logo image */
height: 30px; /* Adjust size as needed, smaller than text */
vertical-align: middle; /* Align with text */
margin-left: 5px; /* Add some space after the divider */
}
/* 导航栏样式 */.container-header {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
background-color: rgba(255, 255, 255, 0.9);
box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 10px;
z-index: 1000;
padding: 10px 20px;
}
.container-header-logo {
display: flex;
align-items: center;
}
.container-header-nav {
display: flex;
margin-right: 50px;
}
.container-header-nav>div {
text-align: center;
margin-right: 10px;
color: rgb(0, 0, 0);
font-weight: 500;
font-size: 16px;
text-decoration: none;
padding: 5px 20px;
border-radius: 20px;
transition: 0.3s;
border: 1px solid transparent;
cursor: pointer;
}
.container-header-nav>div:hover {
border: 1px solid #999;
}
.container-header-nav>div.active {
background-color: transparent;
color: #000;
border: 1px solid #000;
}
/*轮播图样式*/
/* 轮播图区域 */
.carousel-section {
position: relative;
height: 600px;
width: 100vw;
overflow: hidden;
}
.carousel {
height: 100%;
width: 100%;
position: relative;
}
.carousel-item {
position: absolute;
inset: 0;
opacity: 0;
visibility: hidden;
transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
}
.carousel-item.active {
opacity: 1;
visibility: visible;
}
.carousel-item img {
width: 100%;
height: 100%;
/* object-fit: cover; */
object-fit:fill;
background-color: #fff;
}
.carousel-item .content {
position: absolute;
inset: 0;
display: flex;
width: 100%;
align-items: center;
justify-content: center;
}
.carousel-item .content.left {
background: linear-gradient(to right, rgba(30, 41, 59, 0.7), transparent);
/* align-items: flex-end; */
}
.carousel-item .content.bottom {
background: linear-gradient(to top, rgba(30, 41, 59, 0.7), transparent);
align-items: flex-end;
}
.carousel-item .content.right {
background: linear-gradient(to left, rgba(30, 41, 59, 0.7), transparent);
justify-content: flex-end;
}
.carousel-item .content .container {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
}
.carousel-item .content.right .container {
text-align: right;
margin-right: 0;
}
.carousel-item .content.bottom .container {
padding-bottom: 6rem;
}
.carousel-item .content h1 {
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: bold;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
margin-bottom: 1rem;
opacity: 0;
color: #f1f5f9;
transform: translateY(20px);
animation: fadeInUp 1s ease-out forwards;
}
.carousel-item .content p {
font-size: clamp(1rem, 2vw, 1.25rem);
color: #f1f5f9;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
max-width: 32rem;
margin: 0 auto;
margin-bottom: 2rem;
width: 100%;
text-align: center;
opacity: 0;
transform: translateY(20px);
animation: fadeInUp 1.2s ease-out forwards;
}
.carousel-item .content.right p {
margin-left: auto;
}
.carousel-item .content .buttons {
opacity: 0;
transform: translateY(20px);
animation: fadeInUp 1.4s ease-out forwards;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@-webkit-keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.carousel-item .content button {
padding: 0.75rem 2rem;
border-radius: 9999px;
font-size: 1rem;
font-weight: 500;
cursor: pointer;
transition: all 0.3s;
}
.carousel-item .content button.primary {
background-color: #165DFF;
color: white;
border: none;
margin-right: 1rem;
}
.carousel-item .content button.primary:hover {
background-color: rgba(22, 93, 255, 0.9);
transform: scale(1.05);
}
.carousel-item .content button.secondary {
background-color: transparent;
color: white;
border: 2px solid white;
}
.carousel-item .content button.secondary:hover {
border-color: #165DFF;
color: #165DFF;
}
/* 轮播控制 */
.carousel-controls {
position: absolute;
bottom: 2.5rem;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
gap: 1rem;
}
.carousel-controls button {
width: 2.5rem;
height: 2.5rem;
border-radius: 50%;
background-color: rgba(0, 0, 0, 0.4);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s;
border: none;
color: white;
}
.carousel-controls button:hover {
background-color: #165DFF;
}
.carousel-indicators {
display: flex;
gap: 0.5rem;
}
.carousel-indicator {
width: 0.75rem;
height: 0.75rem;
border-radius: 50%;
background-color: white;
opacity: 0.5;
cursor: pointer;
transition: all 0.3s;
}
.carousel-indicator.active {
opacity: 1;
}
/* 页面通用样式 */
.page {
/* min-height: 100vh; */
padding: 100px 50px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
overflow: hidden;
}
/* 第一页 - 欢迎页面 */
.page-1 {
/* background: linear-gradient(180deg, #a1d9ff 0%, #e6f7ff 100%); */
padding: 0;
background-color: #F7F7F5; /* Changed to solid color */
text-align: center;
}
.hero-section {
max-width: 800px;
margin: 0 auto;
padding: 50px 20px;
}
.hero-section h1 {
font-size: 48px;
color: #333;
margin-bottom: 20px;
}
.hero-section p {
font-size: 24px;
color: #666;
margin-bottom: 40px;
}
.hero-buttons {
display: flex;
justify-content: center;
gap: 20px;
}
.btn {
padding: 15px 30px;
border-radius: 30px;
text-decoration: none;
/* font-weight: bold; */
transition: all 0.3s ease;
}
.btn-primary {
background-color: black;
color: white;
}
.btn-secondary {
background-color: white;
color: black;
border: 2px solid #D9D9D9;
}
.btn:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
/* 功能页面样式 */
.feature-container {
display: flex;
align-items: center;
justify-content: center;
margin: 60px 0;
gap: 80px;
}
.feature-container.reverse {
flex-direction: row-reverse;
}
.feature-image {
position: relative;
width: 420px;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 48px;
}
.feature-bg {
position: absolute;
width: 320px;
height: 280px;
border-radius: 32px;
z-index: 1;
}
.feature-bg-pink {
background: #ffe0f0;
right: -10px;
top: 60px;
}
.feature-bg-purple {
background: #e5d9fa;
left: -30px;
top: 30px;
}
.feature-image img {
position: relative;
z-index: 2;
width: 380px;
height: 320px;
border-radius: 20px;
object-fit: cover;
}
.feature-icon {
position: absolute;
top: 10px;
right: 10px;
z-index: 3;
width: 40px;
height: 40px;
border-radius: 50%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.speech-icon::before {
content: "💬";
}
.video-icon::before {
content: "▶️";
}
.feature-text {
max-width: 420px;
margin: 0 40px;
}
.feature-text h2 {
font-size: 36px;
margin-bottom: 20px;
color: #333;
}
.feature-text p {
font-size: 20px;
line-height: 1.6;
color: #666;
margin-bottom: 24px;
}
.feature-list {
list-style: none;
padding-left: 0;
margin-top: 15px;
margin-bottom: 20px;
}
.feature-list li {
position: relative;
padding-left: 35px;
margin-bottom: 10px;
font-size: 1.1rem;
color: #5a4b3e;
line-height: 1.5;
}
.feature-list li::before {
content: '';
display: inline-block;
width: 25px;
height: 25px;
background-image: url('../融光课堂_slices_New/中自-查看界面-对号@2x.png');
background-size: contain;
background-repeat: no-repeat;
position: absolute;
left: 0;
top: 70%;
transform: translateY(-50%);
}
.feature-link {
font-size: 18px;
color: white;
text-decoration: none;
font-weight: 500;
display: inline-flex;
align-items: center;
gap: 8px;
background-color: black; /* 设置背景为黑色 */
padding: 8px 16px; /* 添加内边距,使文本不紧贴边缘 */
border-radius: 30px; /* 设置圆角 */
}
.feature-btn {
display: inline-block;
margin-top: 18px;
padding: 8px 24px;
background: #111;
color: #fff;
border-radius: 24px;
text-decoration: none;
font-weight: bold;
transition: background 0.2s;
}
.feature-btn:hover {
background: #333;
}
/* CTA部分样式 */
.cta-section {
background: linear-gradient(135deg, #4a86e8 0%, #2c5282 100%);
color: white;
text-align: center;
padding: 80px 20px;
}
.cta-section h2 {
font-size: 36px;
margin-bottom: 20px;
}
.cta-section p {
font-size: 18px;
margin-bottom: 30px;
opacity: 0.9;
}
.btn-large {
padding: 20px 40px;
font-size: 18px;
background-color: white;
color: #4a86e8;
}
/* 滚动指示器样式 */
.scroll-indicator {
position: fixed;
right: 30px;
top: 50%;
transform: translateY(-50%);
z-index: 1000;
}
.scroll-dot {
width: 12px;
height: 12px;
background-color: rgba(74, 134, 232, 0.3);
border-radius: 50%;
margin: 10px 0;
cursor: pointer;
transition: all 0.3s ease;
}
.scroll-dot.active {
background-color: #4a86e8;
transform: scale(1.2);
}
/* 响应式设计 */
@media (max-width: 1024px) {
.feature-container,
.feature-container.reverse {
flex-direction: column !important;
text-align: center;
}
.feature-image img {
width: 300px;
height: 300px;
}
.feature-text {
padding: 20px 0;
}
}
@media (max-width: 768px) {
.header {
padding: 10px 20px;
}
nav ul li {
margin-left: 15px;
}
.page {
padding: 80px 20px;
}
.hero-section h1 {
font-size: 36px;
}
.hero-section p {
font-size: 18px;
}
.feature-text h2 {
font-size: 28px;
}
.feature-image img {
width: 250px;
height: 250px;
}
}
/* 全屏滚动效果 */
html {
scroll-behavior: smooth;
}
.page {
/* height: 100vh; */
scroll-snap-align: start;
position: relative;
}
.page > * {
opacity: 0;
transform: translateY(20px);
transition: all 0.5s ease;
}
.page.visible > * {
opacity: 1;
transform: translateY(0);
}
/* 首页头部行 */
.home-header-row {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-bottom: 12px;
margin-top: 5px;
}
.home-logo-title {
display: flex;
align-items: center;
font-size: 20px;
font-weight: 700;
color: #222;
gap: 8px;
}
.home-title-text {
font-size: 22px;
font-weight: 700;
color: #222;
margin-left: 8px;
}
.home-title-divider {
color: #ffb800;
margin: 0 8px;
font-weight: 400;
}
.home-title-sub {
color: #888;
font-size: 16px;
font-weight: 400;
}
.home-nav {
display: flex;
gap: 24px;
}
.home-nav a {
color: #222;
font-size: 16px;
text-decoration: none;
font-weight: 500;
padding: 4px 12px;
border-radius: 16px;
transition: background 0.2s;
}
.home-nav a.active, .home-nav a:hover {
background: #f0f9ff;
color: #4a86e8;
}
/* 首页主视觉区 */
.home-hero-block {
width: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 12px;
margin-top: 5px;
position: relative;
}
.home-hero-images {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
}
.home-hero-images img {
display: block;
max-height: 150px;
width: auto;
position: relative;
}
.home-hero-images .hero-image-1 {
z-index: 2;
margin-bottom: 30px;
margin-right: -20px;
}
.home-hero-images .hero-image-2 {
z-index: 1;
margin-left: -40px;
margin-top: 100px;
}
.home-hero-center {
display: flex;
flex-direction: column;
margin-left: 160px;
}
.home-hero-title-row {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.home-hero-icon {
width: 36px;
height: 36px;
background: url('../images/sun-logo.svg') no-repeat center/contain;
display: inline-block;
}
.home-hero-title {
font-size: 36px;
font-weight: 700;
color: #111;
letter-spacing: 2px;
}
.home-hero-subtitle-row {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 24px;
}
.home-hero-subtitle {
font-size: 32px;
color: #444;
font-weight: 400;
}
.home-hero-star {
width: 24px;
height: 24px;
background: url('../images/star-green.svg') no-repeat center/contain;
display: inline-block;
}
.home-hero-btns {
display: flex;
gap: 16px;
}
.home-hero-btns .btn {
font-size: 16px;
padding: 8px 24px;
border-radius: 20px;
}
/* 三大核心课程区 */
.home-modules-row {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 24px;
margin: 40px 0 24px 0;
position: relative;
width: 100%;
padding: 0 20px;
}
.home-module {
position: relative;
border-radius: 28px;
box-shadow: 0 4px 24px rgba(0,0,0,0.06);
padding: 80px 24px 24px 24px;
flex: 1;
height: 260px;
display: flex;
flex-direction: column;
justify-content: flex-start;
overflow: hidden;
transition: height 0.3s cubic-bezier(.4,2,.6,1), box-shadow 0.3s ease;
cursor: pointer;
}
.home-module:hover {
height: 300px;
box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}
.home-module-top {
position: relative;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
padding-top: 56px;
}
.home-module-chinese {
background:#2BD887;
color: #fff;
}
.home-module-life {
background: #cfc6fa;
color: #333;
}
.home-module-math {
background: #d6fdd6;
color: #333;
}
.home-module-label {
position: absolute;
top: 20px;
left: 24px;
font-size: 20px;
font-weight: 700;
border: 2px solid #222;
color: #222;
border-radius: 16px;
padding: 4px 20px;
margin-bottom: 0;
display: inline-block;
box-shadow: 0 2px 8px rgba(0,0,0,0.04);
z-index: 3;
}
.home-module-desc {
margin-top: 0;
margin-bottom: 12px;
font-size: 18px;
font-weight: 500;
color: #222;
z-index: 2;
}
.home-module-bgword {
font-size: 80px;
font-family: 'Ma Shan Zheng', cursive;
color: rgba(255,255,255,0.7);
position: absolute;
left: -24px;
bottom: -22px;
z-index: 1;
pointer-events: none;
display: flex;
justify-content: center;
align-items: center;
}
.home-module-bgword img {
display: block;
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.home-module-math .home-module-bgword {
color: #b6e6b6;
font-family: inherit;
font-size: 56px;
left: 24px;
bottom: -6px;
}
.home-module-arrow {
position: absolute;
right: 18px;
bottom: 18px;
font-size: 28px;
color: #222;
opacity: 0.5;
z-index: 2;
font-family: 'Noto Sans SC', sans-serif;
border: 2px solid black;
border-radius: 50%;
padding: 5px;
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
}
.home-module-avatar {
position: absolute;
top: -32px;
right: 24px;
width: 64px;
height: 64px;
border-radius: 50%;
object-fit: cover;
border: 4px solid #fff;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
background: #fff;
z-index: 3;
}
.home-module-life .home-module-avatar {
left: 50%;
right: auto;
transform: translateX(-50%);
top: -36px;
}
.home-module-title-badge {
position: absolute;
top: -32px;
right: -40px;
background: #ffd6f7;
color: #333;
font-size: 18px;
font-weight: 700;
border-radius: 20px;
padding: 8px 28px;
box-shadow: 0 2px 8px rgba(0,0,0,0.04);
z-index: 10;
letter-spacing: 1px;
}
.home-module-avatar-placeholder {
width: 100px;
height: 100px;
border-radius: 50%;
background: #eee;
margin: 15px auto 25px auto;
display: none;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
transition: all 0.3s;
object-fit: cover;
}
.home-module:hover .home-module-avatar-placeholder {
display: block;
}
/* 物理装饰样式 */
.home-module-title-physics {
width: 100%;
display: flex;
align-items: flex-end;
justify-content: flex-start;
gap: 18px;
margin-bottom: 18px;
padding-left: 100px;
position: relative;
height: 60px;
}
.physics-ball {
width: 36px;
height: 36px;
border-radius: 50%;
background: #4a86e8;
box-shadow: 0 4px 12px rgba(74,134,232,0.18);
margin-bottom: 8px;
}
.physics-rect {
width: 80px;
height: 24px;
border-radius: 16px;
background: #ffd6f7;
margin-bottom: 16px;
}
.physics-badge {
min-width: 180px;
height: 44px;
border-radius: 22px;
background: #fffbe6;
color: #222;
font-size: 20px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
margin-left: 16px;
letter-spacing: 2px;
}
/* 首页底部横条 */
.home-footer-bar {
width: 100%;
background: #fff;
text-align: center;
font-size: 16px;
font-weight: 500;
padding: 30px;
border-radius: 0 0 18px 18px;
box-shadow: 0 2px 8px rgba(0,0,0,0.04);
margin-top: 32px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
}
.footer-repeating-content {
display: flex;
width: 100%;
justify-content: space-around;
align-items: center;
}
.footer-section {
display: flex;
align-items: center;
gap: 8px;
padding: 0;
flex-shrink: 0;
}
.footer-star-icon {
display: inline-block;
width: 20px;
height: 20px;
object-fit: contain;
vertical-align: middle;
}
.footer-text {
font-size: 16px;
font-weight: 500;
white-space: nowrap;
color: #222;
}
/* 页脚 */
footer {
/* background-color: #1E293B; */
/* background: linear-gradient(135deg, #4a86e8 0%, #2c5282 100%); */
background-color: #294E76;
color: #CBD5E1;
padding: 4rem 0;
}
footer .container {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
}
.footer-grid {
display: grid;
grid-template-columns: 1fr;
gap: 3rem;
margin-bottom: 4rem;
}
@media (min-width: 768px) {
.footer-grid {
grid-template-columns: repeat(4, 1fr);
}
}
.footer-col h3 {
font-size: 1.25rem;
font-weight: bold;
color: white;
margin-bottom: 1rem;
display: flex;
align-items: center;
}
.footer-col h3 span:first-child {
color: #165DFF;
margin-right: 0.5rem;
}
.footer-col p {
margin-bottom: 1rem;
}
.social-links {
display: flex;
gap: 1rem;
}
.social-links a {
width: 2.5rem;
height: 2.5rem;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.1);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s;
color: white;
}
.social-links a:hover {
background-color: #165DFF;
}
.footer-col ul {
list-style: none;
}
.footer-col ul li {
margin-bottom: 0.5rem;
}
.footer-col ul li a {
color: #CBD5E1;
text-decoration: none;
transition: color 0.3s;
}
.footer-col ul li a:hover {
color: #165DFF;
}
.footer-contact li {
display: flex;
align-items: start;
margin-bottom: 0.75rem;
}
.footer-contact li i {
color: #165DFF;
margin-right: 0.75rem;
margin-top: 0.25rem;
}
.footer-bottom {
border-top: 1px solid #334155;
padding-top: 2rem;
display: flex;
flex-direction: column;
gap: 1rem;
}
@media (min-width: 768px) {
.footer-bottom {
flex-direction: row;
justify-content: space-between;
align-items: center;
}
}
.footer-bottom p {
font-size: 0.875rem;
}
.footer-links {
display: flex;
gap: 1.5rem;
}
.footer-links a {
color: #94A3B8;
text-decoration: none;
font-size: 0.875rem;
transition: color 0.3s;
}
.footer-links a:hover {
color: #165DFF;
}
/* 响应式 */
@media (max-width: 1024px) {
.home-header-row { flex-direction: column; gap: 12px; }
.home-modules-row { flex-direction: column; align-items: center; gap: 24px; }
.home-module-title-badge { position: static; margin: 16px 0 0 0; right: auto; top: auto; display: block; text-align: center; }
}
@media (max-width: 768px) {
.home-header-row { padding: 0 8px; }
.home-hero-title { font-size: 24px; }
.home-hero-subtitle { font-size: 16px; }
.home-module { min-width: 160px; min-height: 180px; padding: 20px 10px 16px 10px; }
.home-module-bgword { font-size: 40px; }
.home-module-math .home-module-bgword { font-size: 28px; }
.home-module-avatar { width: 40px; height: 40px; top: -20px; right: 10px; }
.home-module-life .home-module-avatar { top: -20px; }
.home-module-title-badge { font-size: 14px; padding: 4px 12px; }
.home-footer-bar { font-size: 13px; }
}
.hero-extra-elements {
position: absolute;
top: 180px;
right: 600px;
z-index: 2;
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}
.elliptical-shape {
width: 120px;
height: 40px;
background-color: #CEBEF5;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
margin-right: 15px;
}
.elliptical-shape img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.rounded-rectangle-badge {
padding: 12px 20px;
background-color: #f0f0f0;
border-radius: 20px;
font-size: 1.1rem;
color: #333;
font-weight: bold;
}