Skip to main content

Command Palette

Search for a command to run...

CSS Animation কি এবং কিভাবে কাজ করে?

Updated
3 min read
CSS Animation কি এবং কিভাবে কাজ করে?

CSS Keyframes একটি অত্যন্ত কার্যকর ও শক্তিশালী টুল, যা ওয়েব পেজে সফট ও ইন্টার‌্যাকটিভ অ্যানিমেশন তৈরি করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি একটি অ্যানিমেশনের প্রতিটি ধাপে কী পরিবর্তন ঘটবে—তা নির্দিষ্টভাবে সংজ্ঞায়িত করতে পারেন।

আধুনিক ওয়েব ডিজাইনে অ্যানিমেশন একটি গুরুত্বপূর্ণ উপাদান হয়ে উঠেছে। অনেক সময়ই দেখা যায়, বিভিন্ন উপাদান—যেমন: বক্স, চিত্র বা টেক্সট—নড়ছে, অবস্থান বদলাচ্ছে কিংবা রঙ ও আকার পরিবর্তন করছে। এসব দৃশ্যের পেছনে মূল চালিকা শক্তি হচ্ছে CSS Animation।


📌 CSS Animation কি?

CSS Animation ব্যবহার করে আমরা HTML এর যেকোনো এলিমেন্টকে সুন্দরভাবে নড়াচড়া করাতে, রঙ পরিবর্তন করাতে, কিংবা আকার বড়-ছোট করতে পারি। এর জন্য দরকার হয় দুটি জিনিস:

  1. @keyframes – এটা বলে দেয় অ্যানিমেশনের ধাপে ধাপে কী হবে।

  2. CSS animation প্রপার্টিগুলো – এটা বলে দেয় কত সময়, কতবার, কীভাবে অ্যানিমেশন চলবে।


💻 প্রজেক্ট: একটি গোল বক্সকে ঘোরানো এবং রঙ পরিবর্তন

আমরা এমন একটি গোল বক্স বানাবো, যেটি চারকোণে ঘুরবে এবং প্রতিবার রঙ ও বর্ডার বদলাবে।


✅ HTML কোড

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS Animation</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="box"></div>
</body>
</html>

✅ CSS কোড (style.css)

* {
    margin: 0;
    padding: 0;
}

.box {
    width: 50px;
    height: 50px;
    margin: 50px auto;
    background-color: brown;
    border: 5px solid black;
    border-radius: 50%;
    position: relative;
    animation: boxMove 4.5s ease-in-out 1s infinite alternate-reverse both;
}

@keyframes boxMove {
    0%   { left: 0; top: 0; background-color: black; border: 5px solid white; }
    25%  { left: 200px; top: 0; background-color: brown; border: 5px solid black; }
    50%  { left: 200px; top: 200px; background-color: chartreuse; border: 5px solid brown; }
    75%  { left: 0; top: 200px; background-color: teal; border: 5px solid chartreuse; }
    100% { left: 0; top: 0; background-color: yellowgreen; border: 5px solid teal; }
}

🧠 এই কোডে কী হচ্ছে?

বিষয়কাজ
.boxএটি একটি গোল বক্স (৫০x৫০ px)
border-radius: 50%এটিকে গোল বানায়
position: relativeএটাকে চলাফেরা করতে সাহায্য করে
animation: boxMove ...এই লাইন অ্যানিমেশন চালু করে

🎞️ @keyframes boxMove কী করে?

এটি ৫টি ধাপ তৈরি করেছে:

  1. ০% – বক্স উপরে ও বামে, কালো রঙ, সাদা বর্ডার

  2. ২৫% – ডানে যায়, বাদামি রঙ

  3. ৫০% – ডান নিচে যায়, সবুজ রঙ

  4. ৭৫% – বামে আসে, গাঢ় সবুজ রঙ

  5. ১০০% – আবার শুরুতে ফিরে আসে, হালকা সবুজ রঙ


🔄 Animation এর অন্যান্য Option ব্যাখ্যা

প্রপার্টিমানকাজ
animation-duration4.5sঅ্যানিমেশন কত সেকেন্ড চলবে
animation-delay1sশুরু হওয়ার আগে কতক্ষণ অপেক্ষা করবে
animation-timing-functionease-in-outধীরে শুরু এবং ধীরে শেষ
animation-iteration-countinfiniteবারবার চলবে
animation-directionalternate-reverseএকবার সামনে, একবার উল্টো
animation-fill-modebothশুরু ও শেষে স্টাইল ধরে রাখবে

🎁 ফলাফল কেমন হবে?

একটি ছোট গোল বক্স ৪টি দিক ঘুরে বেড়াবে, আর প্রতিবার ভিন্ন রঙ ও বর্ডার নিয়ে আসবে। এটি স্বয়ংক্রিয়ভাবে বারবার চলবে। কেবল CSS দিয়েই এমন মজার অ্যানিমেশন করা যায়!

5 views

More from this blog

FilamentPHP কী এবং কেন ব্যবহার করবেন?

Laravel দিয়ে ওয়েব অ্যাপ্লিকেশন তৈরি করা আজকাল অনেক সহজ। কিন্তু একটা জায়গায় ডেভেলপারদের এখনও বেশ সময় লাগে—Admin Panel বা Backend Dashboard তৈরি করা। এই কাজটা সাধারণত repetitive, time-consuming এবং অনেক

Jun 16, 20263 min read8
FilamentPHP কী এবং কেন ব্যবহার করবেন?

JavaScript এ Error Handling

JavaScript একটি শক্তিশালী প্রোগ্রামিং ভাষা, যা ওয়েব ব্রাউজারে এবং সার্ভার-সাইড (Node.js) উভয় জায়গায় ব্যবহৃত হয়। তবে কোড লেখার সময় প্রায়ই আমরা এমন পরিস্থিতির সম্মুখীন হই যেখানে কোনো ভুল বা exception ঘটে। এই ধরনের সমস্যাগুলোকে আমরা Error Handlin...

Sep 30, 20254 min read11
JavaScript এ Error Handling

Local Storage এবং Session Storage

ওয়েব ডেভেলপমেন্টে কাজ করার সময় প্রায়ই আমাদের দরকার হয় ব্রাউজারে ব্যবহারকারীর কিছু ডেটা সাময়িকভাবে সংরক্ষণ করার। যেমন – ব্যবহারকারীর নাম, থিম সেটিংস, লগইন টোকেন, কার্টে রাখা পণ্য ইত্যাদি। এই কাজটি করার জন্য আগে আমরা সাধারণত Cookies ব্যবহার করতাম। তবে ...

Sep 30, 20254 min read4
Local Storage এবং Session Storage

JSON (Parse, Stringify)

ওয়েব ডেভেলপমেন্টে কাজ করতে গেলে ডেটা আদান-প্রদান, সংরক্ষণ এবং ব্যবস্থাপনা করা অত্যন্ত জরুরি। এই ক্ষেত্রে সবচেয়ে জনপ্রিয় এবং বহুল ব্যবহৃত একটি ফরম্যাট হলো JSON। জাভাস্ক্রিপ্টে JSON কাজ করে অত্যন্ত সহজভাবে, বিশেষ করে যখন আমরা JSON.parse() এবং JSON.stri...

Sep 29, 20254 min read2
JSON (Parse, Stringify)

JavaScript Date & Time

সময়কে প্রোগ্রামিংয়ের মধ্যে সঠিকভাবে ব্যবহার করা খুব গুরুত্বপূর্ণ। অনেক ক্ষেত্রে আমাদের তারিখ (Date) এবং সময় (Time) নিয়ে কাজ করতে হয়, যেমন – কোনো ওয়েব অ্যাপে ইউজারের লগইন সময় দেখানো, অর্ডারের ডেলিভারি তারিখ ট্র্যাক করা, বা একটি ইভেন্টের কাউন্টডাউন তৈর...

Sep 28, 20253 min read
JavaScript Date & Time
S

SliceTech

86 posts

Sharing basic web development tutorials.