diff --git a/src/App.vue b/src/App.vue
index 72bb27e..645ec8a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,10 +1,22 @@
-
-
-
@@ -71,8 +56,8 @@
bottom: 0;
left: 50%;
transform: translateX(-50%);
- width: 90%;
- height: 90%;
+ width: 96%;
+ height: 96%;
object-fit: contain;
z-index: 1;
pointer-events: none;
@@ -150,10 +135,20 @@
.hero-buttons {
display: flex;
- gap: clamp(10px, 1vw, 24px);
+ gap: clamp(10px, 3vw, 35px);
justify-content: center;
}
+.btn-img {
+ height: clamp(36px, 6.6vh, 120px);
+ width: auto;
+ display: block;
+ transition: transform 0.3s;
+ &:hover {
+ transform: translateY(-2px);
+ }
+}
+
.btn {
display: inline-flex;
align-items: center;
@@ -195,7 +190,7 @@
}
.phone-main {
- height: clamp(320px, 52vh, 680px);
+ height: clamp(330px, 58vh, 780px);
width: auto;
display: block;
}
diff --git a/src/components/PageProduct.vue b/src/components/PageProduct.vue
index 80327b0..0971c3e 100644
--- a/src/components/PageProduct.vue
+++ b/src/components/PageProduct.vue
@@ -1,21 +1,36 @@
- 个性化键盘定制,定义你的聊天风格。丰富的主题与样式,让每一次输入都与众不同。 -
-
@@ -27,31 +42,80 @@
.page-product {
width: 100%;
height: 100vh;
- background: #00BFA5;
- color: #fff;
+ background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
+ padding: 10vh 6vw 12vh 6vw;
+ box-sizing: border-box;
position: relative;
+}
+
+.card {
+ width: 100%;
+ height: 100%;
+ background: #02BEAC;
+ border-radius: clamp(16px, 2vw, 40px);
+ display: flex;
+ align-items: center;
overflow: hidden;
+ position: relative;
}
.content-wrapper {
display: flex;
align-items: center;
- justify-content: center;
+ justify-content: flex-start;
gap: @gap-section;
max-width: @content-max;
width: 100%;
- padding: 0 @gap-content;
+ padding: 0 clamp(30px, 3vw, 100px);
}
-.text-side { flex: 1; }
+.text-side { flex: 1; max-width: clamp(300px, 38vw, 680px); }
+
+.title-wrap {
+ position: relative;
+ display: inline-block;
+}
+
+.desc-wrap {
+ position: relative;
+}
+
+.btns-wrap {
+ position: relative;
+ display: inline-block;
+}
+
+.deco-1 {
+ position: absolute;
+ bottom: 0;
+ right: -10%;
+ width: clamp(40px, 6vw, 140px);
+ pointer-events: none;
+}
+
+.deco-2 {
+ position: absolute;
+bottom: -200%;
+ right: -10%;
+ width: clamp(50px, 14vw, 400px);
+ pointer-events: none;
+}
+
+.deco-3 {
+ position: absolute;
+ bottom: -200%;
+ left: 0;
+ width: clamp(50px, 8vw, 200px);
+ pointer-events: none;
+}
.section-title {
- font-size: @font-title;
+ font-size: clamp(30px, 3.4vw, 170px);
font-weight: 800;
- line-height: 1.25;
+ line-height: 1.2;
margin-bottom: clamp(12px, 1.2vh, 28px);
color: #fff;
}
@@ -59,8 +123,21 @@
.section-desc {
font-size: @font-desc;
line-height: 1.8;
- color: rgba(255, 255, 255, 0.85);
- max-width: clamp(260px, 22vw, 480px);
+ color: rgb(255, 255, 255);
+ margin-bottom: clamp(16px, 5vh, 60px);
+}
+
+.download-btns {
+ display: flex;
+ gap: clamp(10px, 3vw, 35px);
+}
+
+.btn-img {
+ height: clamp(36px, 6.6vh, 120px);
+ width: auto;
+ display: block;
+ transition: transform 0.3s;
+ &:hover { transform: translateY(-2px); }
}
.image-side {
@@ -82,19 +159,13 @@
background: rgba(255, 255, 255, 0.08);
}
-.deco {
+.two-phone {
position: absolute;
- font-size: clamp(24px, 2.5vw, 60px);
- opacity: 0.3;
- animation: float 3.5s ease-in-out infinite;
-}
-
-.deco-1 { top: 12%; right: 10%; animation-delay: 0s; }
-.deco-2 { bottom: 15%; left: 8%; animation-delay: 1s; }
-
-@keyframes float {
- 0%, 100% { transform: translateY(0); }
- 50% { transform: translateY(-12px); }
+ right: 8vh;
+ bottom: -9vh;
+ height: clamp(200px, 100vh, 2000px);
+ width: auto;
+ pointer-events: none;
}
@media (max-width: 768px) {
@@ -106,5 +177,6 @@
.section-title { text-align: center; }
.section-desc { text-align: center; }
.phone-placeholder { width: 180px; height: 333px; }
+
}