तो, मुझे समझ में आया कि CSS3 के बदलाव और एनिमेशन दोनों कैसे करें। जो स्पष्ट नहीं है, और मैं गुगली कर रहा हूं, वह कब उपयोग करना है।
उदाहरण के लिए, अगर मैं एक गेंद उछाल बनाना चाहता हूं, तो यह स्पष्ट है कि एनीमेशन जाने का रास्ता है। मैं keyframes प्रदान कर सकता है और ब्राउज़र मध्यवर्ती तख्ते करना होगा और मैं एक अच्छा एनीमेशन होगा।
हालांकि, ऐसे मामले हैं जब किसी भी तरह से उक्त प्रभाव को प्राप्त किया जा सकता है। एक सरल और आम उदाहरण फेसबुक शैली स्लाइडिंग दराज मेनू लागू होगा:
यह प्रभाव संक्रमणों के माध्यम से प्राप्त किया जा सकता है जैसे:
.sf-page {
-webkit-transition: -webkit-transform .2s ease-out;
}
.sf-page.out {
-webkit-transform: translateX(240px);
}
या, जैसे एनिमेशन के माध्यम से:
.sf-page {
-webkit-animation-duration: .4s;
-webkit-transition-timing-function: ease-out;
}
.sf-page.in {
-webkit-animation-name: sf-slidein;
-webkit-transform: translate3d(0, 0, 0);
}
.sf-page.out {
-webkit-animation-name: sf-slideout;
-webkit-transform: translateX(240px);
}
@-webkit-keyframes sf-slideout {
from { -webkit-transform: translate3d(0, 0, 0); }
to { -webkit-transform: translate3d(240px, 0, 0); }
}
@-webkit-keyframes sf-slidein {
from { -webkit-transform: translate3d(240px, 0, 0); }
to { -webkit-transform: translate3d(0, 0, 0); }
}
ऐसा दिखने वाले HTML के साथ:
<div class="sf-container">
<div class="sf-page in" id="content-container">
<button type="button">Click Me</button>
</div>
<div class="sf-drawer">
</div>
</div>
और, यह jQuery स्क्रिप्ट के साथ है:
$("#content-container").click(function(){
$("#content-container").toggleClass("out");
// below is only required for css animation route
$("#content-container").toggleClass("in");
});
मैं समझना चाहता हूं कि इन दृष्टिकोणों के पेशेवरों और विपक्ष क्या हैं।
- एक स्पष्ट अंतर यह है कि एनिमेटिंग पूरे बहुत अधिक कोड ले रहा है।
- एनीमेशन बेहतर लचीलापन देता है। मेरे पास बाहर और अंदर खिसकने के लिए अलग एनीमेशन हो सकते हैं
- क्या ऐसा कुछ है जो प्रदर्शन के बारे में कहा जा सकता है। क्या दोनों एच / डब्ल्यू त्वरण का लाभ उठाते हैं?
- जो अधिक आधुनिक है और आगे बढ़ने का रास्ता है
- कुछ और आप जोड़ सकते हैं?