आइए, स्कोप वाली कस्टम प्रॉपर्टी और बैकग्राउंड-क्लिप का इस्तेमाल करके, ऐनिमेशन वाला ग्रेडिएंट टेक्स्ट इफ़ेक्ट बनाते हैं
CodePen पर जाएं और नया पेन बनाएं.
अपने टेक्स्ट के लिए मार्कअप बनाएं. चलिए, "तेज़" शब्द वाले हेडर का इस्तेमाल करते हैं:
<h1 class="boujee-text">Hello!</h1>
इसके बाद, अपने body
को गहरा background-color
दें:
body {
display: grid;
place-items: center;
min-height: 100vh;
background: hsl(0 0% 20%);
}
हमारे टेक्स्ट पर font-size
को बड़ा करें. इसे रिस्पॉन्सिव बनाने के लिए, clamp
का इस्तेमाल करें:
.boujee-text {
font-size: clamp(3rem, 25vmin, 8rem);
}
इस्तेमाल किए जाने वाले रंगों के लिए दो कस्टम प्रॉपर्टी बनाएं. उन रंगों का इस्तेमाल करके, background
पर linear-gradient
लागू करें और उसे 90 डिग्री घुमाएं:
.boujee-text {
--color-one: hsl(15 90% 55%);
--color-two: hsl(40 95% 55%);
font-size: clamp(3rem, 25vmin, 8rem);
background: linear-gradient(
90deg,
var(--color-one),
var(--color-two),
var(--color-one)
) 0 0 / 100% 100%;
}
ऐसी कस्टम प्रॉपर्टी बनाएं जिसका इस्तेमाल, बैकग्राउंड के हॉरिज़ॉन्टल साइज़ के लिए किया जा सके. इसका इस्तेमाल background-size-x
के लिए करें:
.boujee-text {
--bg-size: 400%;
--color-one: hsl(15 90% 55%);
--color-two: hsl(40 95% 55%);
font-size: clamp(3rem, 25vmin, 8rem);
background: linear-gradient(
90deg,
var(--color-one),
var(--color-two),
var(--color-one)
) 0 0 / var(--bg-size) 100%;
}
टेक्स्ट के बैकग्राउंड को क्लिप करने के लिए, color
को transparent
पर सेट करें और background-clip: text
को सेट करें:
.boujee-text {
--bg-size: 400%;
--color-one: hsl(15 90% 55%);
--color-two: hsl(40 95% 55%);
font-size: clamp(3rem, 25vmin, 8rem);
background: linear-gradient(
90deg,
var(--color-one),
var(--color-two),
var(--color-one)
) 0 0 / var(--bg-size) 100%;
color: transparent;
-webkit-background-clip: text;
background-clip: text;
}
अब, उसे वहीं से छोड़ा जा सकता है. साथ ही, background-image
में इस्तेमाल किए गए ग्रेडिएंट और background-position
के साथ एक्सपेरिमेंट किया जा सकता है. इसके अलावा, अपने टेक्स्ट में उस ग्रेडिएंट को ऐनिमेट भी किया जा सकता है. सबसे पहले, ऐनिमेशन के लिए एक मुख्य फ़्रेम तय करें. इसमें उस --bg-size
कस्टम प्रॉपर्टी का इस्तेमाल किया जाएगा जिसे आपने पहले तय किया था. स्कोप वाली कस्टम प्रॉपर्टी का अच्छा उदाहरण, जिससे रखरखाव करना आसान हो जाता है.
@keyframes move-bg {
to {
background-position: var(--bg-size) 0;
}
}
इसके बाद, animation
का इस्तेमाल करके ऐनिमेशन लागू करें:
.boujee-text {
--bg-size: 400%;
--color-one: hsl(15 90% 55%);
--color-two: hsl(40 95% 55%);
font-size: clamp(3rem, 25vmin, 8rem);
background: linear-gradient(
90deg,
var(--color-one),
var(--color-two),
var(--color-one)
) 0 0 / var(--bg-size) 100%;
color: transparent;
background-clip: text;
-webkit-background-clip: text;
animation: move-bg 8s infinite linear;
}
इसे और बेहतर बनाने के लिए, अपने ऐनिमेशन कोड को मीडिया क्वेरी में रैप किया जा सकता है. इससे, उपयोगकर्ता की मोशन से जुड़ी प्राथमिकताओं का सम्मान किया जा सकता है:
@media (prefers-reduced-motion: no-preference) {
.boujee-text {
animation: move-bg 8s linear infinite;
}
@keyframes move-bg {
to {
background-position: var(--bg-size) 0;
}
}
}
हो गया! 🎉 आपने स्कोप वाली कस्टम प्रॉपर्टी और background-clip
का इस्तेमाल करके, सीएसएस का इस्तेमाल करके ऐनिमेशन वाले कुछ ग्रेडिएंट टेक्स्ट बनाए हैं.
इस सलाह को शॉर्ट वीडियो में देखें! ⚡️
क्या आपको इसे ट्वीट फ़ॉर्मैट में देखना है? 🐦
हमेशा बेहतर बने रहें! ʕ •ᴥ•ʔ
Unsplash पर व्लादिस्लाव क्लैपिन की हीरो इमेज