Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> CSS

CSS के साथ एक साधारण लूपिंग बैकग्राउंड कलर एनिमेशन कैसे बनाएं

कीफ़्रेम और विभिन्न CSS एनिमेशन गुणों का उपयोग करके शुद्ध CSS के साथ एक साधारण एनिमेटेड पृष्ठभूमि रंग लूप बनाना सीखें।

इस उदाहरण में, हम HTML <body> . को लक्षित कर रहे हैं तत्व सीधे CSS के साथ, लेकिन आप निम्न कोड उदाहरण को किसी भी HTML तत्व, वर्ग या आईडी पर लागू कर सकते हैं।

CSS के साथ एक साधारण लूपिंग बैकग्राउंड कलर एनिमेशन कैसे बनाएं

कोड

आप इस डेमो को संदर्भ के रूप में उपयोग कर सकते हैं।

नोट:यह कोड IE9 में काम नहीं करेगा।

अपने एनिमेशन की योजना बनाना

यहां तक ​​​​कि अगर आप नहीं जानते कि आपका परिणाम कैसे समाप्त होना चाहिए, तो आप जिस दिशा में जा रहे हैं, उसके बारे में विचार करना हमेशा व्यावहारिक होता है। कोडिंग शुरू करने से पहले आइए लूपिंग एनिमेशन के बारे में कुछ बातें स्थापित करें:

  • हम कितने पृष्ठभूमि रंगों का उपयोग करना चाहते हैं?
  • कुल एनिमेशन अवधि कितने समय तक चलनी चाहिए?
  • हमें किस प्रकार के एनिमेशन का उपयोग करना चाहिए?

चूंकि इस ट्यूटोरियल का उद्देश्य चीजों को सरल रखना है, आइए इसका उपयोग करें:

  • 5 अलग-अलग पृष्ठभूमि रंग
  • 10 सेकंड की अवधि (प्रत्येक रंग 2 सेकंड प्रदर्शित होता है)
  • एक रैखिक एनीमेशन वक्र (एनीमेशन की शुरुआत से अंत तक समान गति होती है)

मैंने इस उदाहरण के लिए जल्दी से एक सामंजस्यपूर्ण रंग पैलेट बनाने के लिए Coolers.co का उपयोग किया:

CSS के साथ एक साधारण लूपिंग बैकग्राउंड कलर एनिमेशन कैसे बनाएं

ये हेक्स रंग हैं जो हमारी आगामी पृष्ठभूमि एनीमेशन के माध्यम से लूप करेंगे:

  • सूर्यास्त नारंगी:#EE6055
  • मध्यम एक्वामरीन:#60D394
  • पीला हरा:#AAF683
  • मधुर पीला:#FFD97D
  • ज्वलंत कीनू:#FF9B85

आपको उन सभी नामों को याद रखने की आवश्यकता नहीं है (वे सीधे कूलर से लिए गए हैं), मैंने उन्हें अच्छे उपाय के लिए जोड़ा है।

ठीक है, तो अब हमारे पास हमारे 5 रंग हैं, जिन्हें हम एक लूपिंग एनिमेशन में डालने जा रहे हैं जो प्रत्येक रंग को 2 सेकंड में प्रदर्शित करता है।

आगे हम अपनी योजना के आधार पर एनिमेशन बनाएंगे।

लूपिंग CSS एनिमेशन बनाना

CSS में, एनिमेशन कीफ़्रेम 0% . से प्रतिशत में काम करते हैं करने के लिए 100% . निम्नलिखित सीएसएस कीफ़्रेम जोड़ें:आपकी स्टाइलशीट में:

/* Standard syntax */
@keyframes backgroundColorPalette {
  0% {
    background: #ee6055;
  }
  25% {
    background: #60d394;
  }
  50% {
    background: #aaf683;
  }
  75% {
    background: #ffd97d;
  }
  100% {
    background: #ff9b85;
  }
}

अब हमारे पास backgroundColorPalette . नामक एक keyframe संपत्ति है 5 रंग अंतराल के साथ, जो समान रूप से 0% . से विभाजित हैं करने के लिए 100% एनिमेशन का।

अब बॉडी एलिमेंट का CSS रूल-सेट बनाने का समय आ गया है, इसलिए हम अपने कीफ्रेम कलर पैलेट ले सकते हैं और इसे उपयोग में ला सकते हैं।

अपने बॉडी सिलेक्टर नियम-सेट के अंदर निम्नलिखित CSS एनिमेशन गुण जोड़ें, और देखें कि आपकी ब्राउज़र विंडो में क्या होता है:

body {
  animation-name: backgroundColorPalette;
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

अगर आपने सब कुछ ठीक किया, तो अब आपके पास लगातार चलने वाला बैकग्राउंड कलर एनिमेशन होना चाहिए जो 2 सेकंड के अंतराल के साथ रंग से रंग में आसानी से संक्रमण करता हो।

कोड

आप इस डेमो को संदर्भ के रूप में उपयोग कर सकते हैं।

CSS कैसे काम करता है

  • सबसे पहले, हम animation-name जोड़ते हैं संपत्ति और इसे backgroundColorPalette . का मान दें — अब हमारे द्वारा पहले बनाए गए बैकग्राउंड कलर कीफ़्रेम को बॉडी एलिमेंट को सौंपा गया है।
  • हम animation-duration: . का उपयोग करते हैं संपत्ति और इसे 10s का मान दें - अब हमारे एनीमेशन की कुल अवधि 10 सेकंड है। आप मिलीसेकंड का भी उपयोग कर सकते हैं 10000
  • हम animation-iteration-count का उपयोग करते हैं संपत्ति और इसे infinite का मान दें . यह वही है जो एनीमेशन लूप को लगातार बनाता है। CSS में, डिफ़ॉल्ट 1 है एनिमेशन चक्र।
  • हम animation-direction का उपयोग करते हैं संपत्ति और इसे alternate का मान दें . यह एनीमेशन को शुरू से अंत तक और अंत से शुरुआत तक चलता है। हम इस संपत्ति मूल्य का उपयोग एक बदसूरत छलांग से बचने के लिए करते हैं जो तब होता है जब आप normal . का उपयोग करते हैं एनिमेशन दिशा मान.

जानना अच्छा है

डिफ़ॉल्ट रूप से, CSS एनिमेशन गति वक्र प्रकार रैखिक . पर सेट होता है . इसका मतलब यह है कि जब हम इसका इस्तेमाल करना चाहते हैं तो हमें अपने सीएसएस नियम-सेट में संपत्ति घोषित करने की ज़रूरत नहीं है। इसलिए हमारे उदाहरण में एनीमेशन गति वक्र रैखिक रूप से चलता है।

हालाँकि, आप अभी भी animation-timing-function: linear; add जोड़ना चाह सकते हैं अपने कोड को अधिक अभिव्यंजक बनाने के लिए अपने CSS नियम-सेट में - खासकर यदि आप एक टीम में काम करते हैं। यह याद रखना कठिन है कि CSS में सभी संपत्ति मान डिफ़ॉल्ट रूप से सक्षम हैं।


  1. कैसे सीएसएस के साथ स्क्रॉल पर एक ढाल पृष्ठभूमि रंग बनाने के लिए?

    स्क्रॉल पर एक ग्रेडिएंट बैकग्राउंड कलर बनाने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <head> <style>    body {       height: 250vh;       color: white;       font-family: "Segoe UI", Tahoma, Gene

  1. CSS के साथ प्लेसहोल्डर एट्रिब्यूट का रंग कैसे बदलें?

    CSS के साथ प्लेसहोल्डर एट्रिब्यूट का रंग बदलने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    body {       font-family: "

  1. CSS के साथ टाइपराइटर एनिमेशन कैसे बनाएं?

    CSS एनिमेशन की मदद से, हम JavaScript का उपयोग करके एक टाइपराइटर एनिमेशन बना सकते हैं। निम्नलिखित उदाहरण इस आशय को दर्शाता है। उदाहरण <!DOCTYPE html> <html> <head> <style> div {    margin: 2%;    font-family: Courier, monospace;    display: inlin