View Transitions API
CSS View Transitions API का उपयोग करके पृष्ठ और तत्वों के सहज ट्रांज़िशन ऐनिमेशन बनाएँ।
View Transitions API, CoddyKit पर CSS Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह CSS Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। CSS Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
व्यू ट्रांज़िशन एपीआई क्या है?
व्यू ट्रांज़िशन एपीआई (क्रोम 111+) पेज की अलग-अलग स्थितियों के बीच या पेज पर जाने के बीच सहज, एनीमेशनयुक्त बदलाव संभव बनाता है। यह पहले और बाद के स्क्रीन-चित्र लेता है और CSS एनीमेशन की मदद से उनके बीच क्रमिक रूपांतरण करता है — जिससे वेब पर ऐप-जैसे बदलाव संभव होते हैं।
उसी-दस्तावेज़ के ट्रांज़िशन
DOM में किए गए बदलाव को document.startViewTransition(() => updateDom()) के अंदर रखकर उसी पेज का ट्रांज़िशन शुरू करें। ब्राउज़र पुरानी स्थिति को दर्ज करता है, बदलाव चलाता है, नई स्थिति को दर्ज करता है और फिर दोनों के बीच अपने-आप क्रॉसफ़ेड करता है।
<button id="update-btn">Update Content</button>
<div class="content">Before update</div>
डिफ़ॉल्ट क्रॉसफ़ेड
किसी CSS के बिना, व्यू ट्रांज़िशन पेज की पुरानी और नई स्थितियों के बीच एक सरल क्रॉसफ़ेड करता है। JavaScript की यह एक पंक्ति ऐसा सुघड़ बदलाव जोड़ती है, जिसके लिए पहले जटिल CSS एनीमेशन समन्वय या किसी विशेष एनीमेशन लाइब्रेरी की आवश्यकता होती थी।
CSS के छद्म-तत्व
यह एपीआई चार छद्म-तत्व उपलब्ध कराता है: ::view-transition (मूल ओवरले), ::view-transition-old(root) (पुराने पेज का स्क्रीन-चित्र), ::view-transition-new(root) (नए पेज का स्क्रीन-चित्र) और ::view-transition-image-pair(root)। इन्हें CSS एनीमेशन से अनुकूलित करें।
view-transition-name के साथ नामित ट्रांज़िशन
किसी ऐसे तत्व को view-transition-name: hero-image दें जो ट्रांज़िशन के दौरान बना रहता है। एपीआई इस तत्व को उसके पुराने स्थान और आकार से नए स्थान और आकार में रूपांतरित करता है — जिससे तत्व-स्तरीय सहज एनीमेशन अपने-आप बन जाता है।
<div class="hero-img"></div>
कस्टम एनीमेशन
छद्म-तत्वों पर कस्टम कीफ़्रेम लगाकर डिफ़ॉल्ट क्रॉसफ़ेड को बदलें: आगे जाने पर दाईं ओर से स्लाइड करके आएँ और पीछे जाने पर बाईं ओर से। ::view-transition-new(root) और ::view-transition-old(root) को @keyframes से लक्षित करें।
MPA ट्रांज़िशन (नेविगेशन एपीआई)
क्रॉस-दस्तावेज़ व्यू ट्रांज़िशन (क्रोम 126+) बहु-पृष्ठ ऐप्स में पूरे पेज पर जाने के बीच एनीमेशन चलाते हैं। CSS में @view-transition { navigation: auto; } जोड़ें — ब्राउज़र HTML पेजों के बीच बदलाव अपने-आप संभालता है, JavaScript की आवश्यकता नहीं होती।
सुलभता: गति संबंधी प्राथमिकताओं का सम्मान
वेस्टिब्युलर विकारों वाले उपयोगकर्ताओं को बहुत अधिक गति वाले ट्रांज़िशन का अनुभव नहीं होना चाहिए। ट्रांज़िशन एनीमेशन को @media (prefers-reduced-motion: no-preference) के अंदर रखें, ताकि कम गति पसंद करने वाले उपयोगकर्ताओं के लिए कस्टम एनीमेशन बंद हो जाएँ और कार्यात्मक DOM बदलाव बना रहे।
<p>This rule targets browser-generated <code>::view-transition-old(root)</code> and <code>::view-transition-new(root)</code> pseudo-elements — visible only during an active view transition, not in a static preview.</p>
SPA फ़्रेमवर्क एकीकरण
रिएक्ट राउटर v6.4+, व Vue राउटर और एस्ट्रो व्यू ट्रांज़िशन का समर्थन करते हैं। फ़्रेमवर्क मार्ग परिवर्तनों को अपने-आप startViewTransition के अंदर रखते हैं। नेविगेशन और लेआउट के मुख्य ढाँचे जैसे बने रहने वाले तत्वों पर view-transition-name के ज़रिए प्रत्येक मार्ग की ट्रांज़िशन शैलियाँ कॉन्फ़िगर करें।
कार्य-प्रदर्शन संबंधी बातें
व्यू ट्रांज़िशन पेज के स्क्रीन-चित्र लेते हैं, जो जटिल विन्यासों के लिए महँगा हो सकता है। अनेक संयुक्त परतों वाले बड़े पेजों में स्क्रीन-चित्र लेते समय रुकावट दिखाई दे सकती है। ट्रांज़िशन की अवधि 300 मिलीसेकंड से कम रखें और अत्यधिक जटिल उपवृक्षों में ट्रांज़िशन करने से बचें।
क्रमिक सुधार
उपयोग करने से पहले एपीआई की उपलब्धता जाँचें: if (!document.startViewTransition) { updateDom(); return; }। वैकल्पिक व्यवस्था DOM को बिना एनीमेशन के सामान्य रूप से अपडेट करती है। व्यू ट्रांज़िशन क्रमिक सुधार हैं — उनके बिना भी ऐप काम करता है; जहाँ समर्थन उपलब्ध हो, वहाँ वे अनुभव को बेहतर बना देते हैं।
ज्ञान-जाँच
व्यू ट्रांज़िशन के दौरान किसी तत्व पर view-transition-name लगाने से कौन-सी सुविधा मिलती है?
सारांश
व्यू ट्रांज़िशन एपीआई कम कोड में DOM स्थितियों या पेज पर जाने के बीच क्रॉसफ़ेड और रूपांतरण एनीमेशन संभव बनाता है। नामित ट्रांज़िशन तत्व अपने-आप रूपांतरित होते हैं; कस्टम छद्म-तत्व एनीमेशन डिफ़ॉल्ट क्रॉसफ़ेड की जगह ले लेते हैं। prefers-reduced-motion का सम्मान करें और ऐसे ब्राउज़रों के लिए क्रमिक सुधार का उपयोग करें जिनमें समर्थन उपलब्ध नहीं है।
एआई शिक्षक के साथ CSS सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 40
- पाठ
- 159
अक्सर पूछे जाने वाले प्रश्न
क्या “View Transitions API” पाठ निःशुल्क है?
हाँ—“View Transitions API” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और CSS Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। CSS Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“View Transitions API” में मैं क्या सीखूँगा?
CSS View Transitions API का उपयोग करके पृष्ठ और तत्वों के सहज ट्रांज़िशन ऐनिमेशन बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ CSS Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या CSS Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर CSS Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“View Transitions API” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस CSS Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर CSS Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- मूल CSS नेस्टिंग
- :has() संबंधपरक स्यूडो-क्लास
- स्कोप वाली शैलियों के लिए @scope
- View Transitions API