Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
278 changes: 278 additions & 0 deletions packages/home/src/views/ai-extension-home/common.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,278 @@
/* ==================== 公共样式 ==================== */

.ai-extension-home {
/* 工具类 */
.pad-b40 {
padding-bottom: 40px !important;
}

.pad-t40 {
padding-top: 40px !important;
}

/* 通用布局 */
.section {
min-height: 100vh;
width: 100%;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

.text-center {
text-align: center;
}

/* 背景类 */
.bg-tech-1 {
background-size: cover;
background-position: center;
}

.bg-tech-2 {
background-size: cover;
background-position: center;
}

/* 通用文字样式 */
.title {
font-size: 52px;
font-weight: 700;
color: #191919;
letter-spacing: 2px;
line-height: 1.2;
padding-bottom: 32px;
.title-us {
font-size: 56px;
}
}

.subtitle {
font-size: 50px;
padding-bottom: 48px;
line-height: 1.5;
background: linear-gradient(90deg, #cb43a8 10%, #2c5fef 50%);
-webkit-background-clip: text;
background-clip: text;
letter-spacing: 5px;
-webkit-text-fill-color: transparent;
font-weight: 700;
}

.description {
font-size: 18px;
padding-bottom: 48px;
line-height: 2;
color: #a0a0a0;
letter-spacing: 2px;
font-weight: 400;
}

.feature-title {
font-size: 36px;
}

/* 按钮样式 */
.btn {
padding: 12px 44px;
line-height: 24px;
border-radius: 30px;
font-size: 16px;
text-decoration: none;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer;
letter-spacing: 1px;
position: relative;
overflow: hidden;
font-weight: 400;
}

.btn.primary {
background: #191919;
color: white;
border: none;
box-shadow: 0 10px 25px rgba(94, 124, 226, 0.3);
}

.btn.primary:hover {
transform: translateY(-3px);
box-shadow: 0 15px 35px rgba(94, 124, 226, 0.5);
}

.btn.secondary {
background: transparent;
color: #191919;
border: 1px solid #191919;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.btn.secondary:hover {
transform: translateY(-3px);
border-color: #191919;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* 动画效果 */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-up.is-visible {
opacity: 1;
transform: translateY(0);
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(40px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

@keyframes float {
0% {
transform: translateY(0px);
}
50% {
transform: translateY(-25px);
}
100% {
transform: translateY(0px);
}
}

/* ==================== 响应式适配 ==================== */

/* 中等屏幕 (1024px - 1440px) - 小桌面 */
@media (max-width: 1440px) {
* {
zoom: 0.9;
}
}

/* 平板横屏 (1024px - 1440px) */
@media (max-width: 1024px) {
* {
zoom: 1;
}

.title {
font-size: 28px;
letter-spacing: 3px;
}

.subtitle {
font-size: 26px;
letter-spacing: 3px;
}

.description {
font-size: 16px;
}

.feature-title {
font-size: 30px;
}
}

/* 平板竖屏 / 大手机 (768px - 1024px) */
@media (max-width: 768px) {
* {
zoom: 1;
}

.section {
min-height: auto;
padding: 60px 20px;
}

.title {
font-size: 28px;
letter-spacing: 2px;
padding-bottom: 15px;
}

.subtitle {
font-size: 26px;
letter-spacing: 2px;
padding-bottom: 15px;
}

.description {
padding-bottom: 20px;
}

.cta-group {
gap: 15px;
width: 100%;
justify-content: center;
}

.btn {
padding: 14px 30px;
font-size: 14px;
}

.feature-title {
font-size: 28px;
}

.pad-b40 {
padding-bottom: 30px !important;
}
}

/* 小手机 (< 480px) */
@media (max-width: 480px) {
.section {
padding: 40px 15px;
}

.btn {
padding: 12px 24px;
font-size: 14px;
line-height: 1;
}

.description {
letter-spacing: 0px;
padding-left: 15px;
padding-right: 15px;
}

.title {
font-size: 22px;
letter-spacing: 1px;
.title-us {
font-size: 24px;
}
}

.subtitle {
font-size: 20px;
letter-spacing: 1px;
}

.feature-title {
font-size: 24px;
}
}

/* 无障碍支持 */
@media (prefers-reduced-motion: reduce) {
.fade-in-up {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
}
Loading