সুতরাং, আমি বুঝতে পারি যে CSS3 রূপান্তর এবং অ্যানিমেশন উভয় কীভাবে সম্পাদন করতে হয়। কোনটি পরিষ্কার নয়, এবং আমি গুগল করেছি, কখন এটি ব্যবহার করা উচিত।
উদাহরণস্বরূপ, আমি যদি একটি বল বাউন্স করতে চাই তবে এটি স্পষ্ট যে অ্যানিমেশনটি যাওয়ার উপায়। আমি কীফ্রেমগুলি সরবরাহ করতে পারি এবং ব্রাউজারটি মধ্যস্থতা ফ্রেমগুলি করতে পারে এবং আমার একটি দুর্দান্ত অ্যানিমেশন চলবে।
যাইহোক, এমন কিছু ক্ষেত্রে রয়েছে যখন কোনওভাবে বলা যায় কার্যকর প্রভাব অর্জন করা যায়। একটি সাধারণ এবং সাধারণ উদাহরণ ফেসবুক স্টাইল স্লাইডিং ড্রয়ার মেনু বাস্তবায়ন করা হবে:
এই প্রভাবটি যেমন রূপান্তরগুলির মাধ্যমে অর্জন করা যেতে পারে:
.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");
});
আমি যা বুঝতে চাই তা হ'ল এই পদ্ধতির পক্ষে কি মতামত রয়েছে।
- একটি স্পষ্ট পার্থক্য হ'ল অ্যানিমেটিং পুরোপুরি আরও অনেক বেশি কোড নিচ্ছে।
- অ্যানিমেশন আরও ভাল নমনীয়তা দেয়। স্লাইডিং আউট এবং ইন এর জন্য আমার আলাদা অ্যানিমেশন থাকতে পারে
- পারফরম্যান্স সম্পর্কে কিছু বলা যেতে পারে যে। উভয়ই h / w ত্বরণের সুবিধা গ্রহণ করে?
- যা আরও আধুনিক এবং এগিয়ে যাওয়ার পথ
- আর কিছু যুক্ত করতে পারো?