Skip to content

Commit cd85ece

Browse files
committed
Refactor HomepageFeatures styles: enhance layout, improve responsiveness, and add animations
1 parent 400264e commit cd85ece

File tree

1 file changed

+126
-5
lines changed

1 file changed

+126
-5
lines changed
Lines changed: 126 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,132 @@
1-
.features {
1+
.featuresSection {
22
display: flex;
33
align-items: center;
4-
padding: 2rem 0;
4+
padding: 3rem 0;
55
width: 100%;
6+
7+
background: none;
8+
position: relative;
9+
overflow: hidden;
610
}
711

8-
.featureSvg {
9-
height: 200px;
10-
width: 200px;
12+
.featuresRow {
13+
display: flex;
14+
flex-wrap: wrap;
15+
justify-content: space-around;
16+
gap: 2rem;
1117
}
18+
19+
.featureItem {
20+
display: flex;
21+
flex-direction: column;
22+
align-items: center;
23+
max-width: 450px;
24+
flex: 1 1 calc(50% - 2rem);
25+
min-width: 280px;
26+
padding: 1.5rem;
27+
border-radius: 12px;
28+
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.07);
29+
transition: transform 0.3s ease, box-shadow 0.3s ease;
30+
background-color: var(--ifm-card-background-color);
31+
animation: fadeInUp 0.5s ease forwards;
32+
opacity: 0;
33+
}
34+
35+
.featureItem:hover {
36+
transform: translateY(-5px);
37+
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
38+
}
39+
40+
.featureItem:nth-child(1) { animation-delay: 0.1s; }
41+
.featureItem:nth-child(2) { animation-delay: 0.2s; }
42+
.featureItem:nth-child(3) { animation-delay: 0.3s; }
43+
.featureItem:nth-child(4) { animation-delay: 0.4s; }
44+
45+
.featureImageContainer {
46+
text-align: center;
47+
margin-bottom: 1.25rem;
48+
padding: 0.75rem;
49+
border-radius: 50%;
50+
background-color: var(--ifm-color-primary-lightest);
51+
width: 100px;
52+
height: 100px;
53+
display: flex;
54+
align-items: center;
55+
justify-content: center;
56+
}
57+
58+
.featureImage {
59+
height: auto;
60+
width: 100%;
61+
max-width: 70px;
62+
object-fit: contain;
63+
}
64+
65+
.featureContent {
66+
text-align: center;
67+
padding: 0 1rem;
68+
flex-grow: 1;
69+
}
70+
71+
.featureContent h3 {
72+
margin-bottom: 0.75rem;
73+
font-size: 1.35rem;
74+
color: var(--ifm-color-primary);
75+
}
76+
77+
.featureContent p {
78+
color: var(--ifm-color-emphasis-700);
79+
line-height: 1.6;
80+
}
81+
82+
.featureFooter {
83+
margin-top: 1.5rem;
84+
width: 100%;
85+
display: flex;
86+
justify-content: center;
87+
}
88+
89+
.button {
90+
transition: all 0.2s ease-in-out;
91+
padding: 0.75rem 1.5rem;
92+
font-weight: 600;
93+
border-radius: 30px;
94+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
95+
}
96+
97+
.button:hover {
98+
transform: translateY(-2px);
99+
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
100+
}
101+
102+
@keyframes fadeInUp {
103+
from {
104+
opacity: 0;
105+
transform: translateY(20px);
106+
}
107+
to {
108+
opacity: 1;
109+
transform: translateY(0);
110+
}
111+
}
112+
113+
@media (max-width: 768px) {
114+
.featureItem {
115+
flex: 1 1 100%;
116+
margin-bottom: 1.5rem;
117+
}
118+
119+
.featuresRow {
120+
flex-direction: column;
121+
gap: 1.5rem;
122+
}
123+
124+
.featureImageContainer {
125+
width: 90px;
126+
height: 90px;
127+
}
128+
129+
.featureContent h3 {
130+
font-size: 1.25rem;
131+
}
132+
}

0 commit comments

Comments
 (0)