لننشئ تأثير نص متدرّج متحرك باستخدام خصائص مخصّصة ذات نطاق وميزة background-clip
انتقِل إلى CodePen وأنشئ قلمًا جديدًا.
أنشئ الترميز الخاص بالنص. لنستخدِم عنوانًا يتضمّن الكلمة "سريع":
<h1 class="boujee->text&q<uot>;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);
}
أنشئ سمتَين مخصّصتَين للألوان التي ستستخدمها. طبِّق linear-gradient على background باستخدام هذه الألوان ودوِّره بزاوية 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-position والتدرّج اللوني المستخدَم في background-image. أو يمكنك تحريك هذا التدرّج اللوني على النص. أولاً، حدِّد إطارًا رئيسيًا للصورة المتحركة. سيتم استخدام السمة المخصّصة --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;
}
}
}
انتهينا! 🎉 لقد أنشأت بعض النصوص المتدرّجة المتحرّكة باستخدام CSS من خلال استخدام خصائص مخصّصة ذات نطاق محدد وbackground-clip.
إليك هذه النصيحة في فيديو سريع! ⚡️
هل تفضّل قراءة هذه المعلومات في تغريدة؟ 🐦
نتمنّى لك يومًا سعيدًا!