এসভিজি (SVG) তে hover effects এবং click events ব্যবহার করে আপনি গ্রাফিক্সের ইন্টারঅ্যাকটিভিটি বাড়াতে পারেন। এই ইফেক্টগুলি CSS এবং JavaScript এর মাধ্যমে এসভিজি উপাদানগুলিতে অ্যাপ্লাই করা যেতে পারে, যা আপনার ওয়েব পেজকে আরও আকর্ষণীয় এবং ইউজার-ফ্রেন্ডলি করে তোলে। এসভিজি গ্রাফিক্সের উপর হোভার ইফেক্ট বা ক্লিক ইভেন্টের মাধ্যমে বিভিন্ন ধরনের এনিমেশন বা পরিবর্তন আনা সম্ভব।
১. Hover Effects with CSS
Hover Effects হল ইউজার যখন কোন উপাদানে মাউস হোভার করে তখন সে উপাদানটির পরিবর্তন হয়। CSS এর মাধ্যমে এসভিজি উপাদানে হোভার ইফেক্ট দেওয়া যায়। এখানে :hover পসুডোক্লাস ব্যবহার করা হয়।
উদাহরণ: Hover Effect with Fill Change
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="50" fill="blue" class="hover-effect" />
</svg>
<style>
.hover-effect:hover {
fill: red; /* Hovering on the circle will change its color to red */
}
</style>
এখানে, যখন ইউজার বৃত্তটির উপর মাউস হোভার করবে, তখন বৃত্তের রঙ নীল থেকে লাল পরিবর্তিত হবে।
উদাহরণ: Hover Effect with Stroke Change
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<rect x="50" y="50" width="100" height="100" fill="yellow" stroke="black" stroke-width="5" class="hover-effect" />
</svg>
<style>
.hover-effect:hover {
stroke: green; /* Hovering on the rectangle will change the stroke color to green */
stroke-width: 10; /* It will also make the stroke width thicker */
}
</style>
এখানে, ইউজার যখন আয়তক্ষেত্রটির উপর মাউস হোভার করবে, স্ট্রোকের রঙ কালো থেকে সবুজ হয়ে যাবে এবং স্ট্রোকের প্রস্থও বাড়ানো হবে।
২. Click Events with JavaScript
Click Events হল এমন ইভেন্ট যা তখন ঘটে যখন ইউজার কোন এসভিজি উপাদান বা এলিমেন্টে ক্লিক করে। এসভিজি উপাদানের সাথে JavaScript ব্যবহার করে আপনি click event তৈরি করতে পারেন, যা বিভিন্ন ধরনের পরিবর্তন বা অ্যানিমেশন trigger করতে পারে।
উদাহরণ: Click Event with JavaScript
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="50" fill="blue" id="myCircle" />
</svg>
<script>
document.getElementById("myCircle").addEventListener("click", function() {
this.setAttribute("fill", "green"); // When clicked, the circle's color changes to green
});
</script>
এখানে, বৃত্তটিতে ক্লিক করার পর, বৃত্তটির রঙ নীল থেকে সবুজ হয়ে যাবে। addEventListener মেথডটি ব্যবহার করা হয়েছে যা ক্লিক ইভেন্টে প্রতিক্রিয়া জানাবে।
উদাহরণ: Click Event with Animation
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<rect x="50" y="50" width="100" height="100" fill="orange" id="myRectangle" />
</svg>
<script>
document.getElementById("myRectangle").addEventListener("click", function() {
this.setAttribute("width", "150"); // Clicking will expand the width of the rectangle
this.setAttribute("height", "150"); // Clicking will also expand the height of the rectangle
});
</script>
এখানে, আয়তক্ষেত্রটিতে ক্লিক করার পর এর প্রস্থ এবং উচ্চতা বৃদ্ধি পাবে।
৩. CSS Transition for Smooth Hover Effects
হোভার ইফেক্টে CSS Transition ব্যবহার করলে ইফেক্টটি আরো মসৃণভাবে ঘটে। transition প্রপার্টি ব্যবহার করে রঙ, প্রস্থ, এবং অন্যান্য স্টাইলের পরিবর্তনগুলো সুন্দরভাবে প্রদর্শিত হয়।
উদাহরণ: Smooth Hover Effect with Transition
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="50" fill="blue" class="hover-effect" />
</svg>
<style>
.hover-effect {
transition: fill 0.3s ease, transform 0.3s ease; /* Apply smooth transition for color and transformation */
}
.hover-effect:hover {
fill: red; /* Change color to red on hover */
transform: scale(1.2); /* Increase size slightly on hover */
}
</style>
এখানে, বৃত্তটির রঙ পরিবর্তন এবং আকারের বৃদ্ধি খুবই মসৃণভাবে হবে, কারণ transition ব্যবহার করা হয়েছে।
৪. Combining Hover and Click Events
আপনি hover এবং click ইভেন্ট একসাথে ব্যবহার করে আরো জটিল ইন্টারঅ্যাকশন তৈরি করতে পারেন। যেমন, হোভার করলে কোনো একটি পরিবর্তন হবে, এবং ক্লিক করলে অন্য কোনো পরিবর্তন ঘটবে।
উদাহরণ: Hover and Click Event Combination
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="50" fill="blue" class="hover-effect" id="myCircle" />
</svg>
<style>
.hover-effect {
transition: fill 0.3s ease;
}
.hover-effect:hover {
fill: red; /* Hover effect to change color */
}
</style>
<script>
document.getElementById("myCircle").addEventListener("click", function() {
this.setAttribute("fill", "green"); // Clicking changes the color to green
});
</script>
এখানে, ইউজার প্রথমে বৃত্তটির উপর মাউস হোভার করলে রঙ লাল হয়ে যাবে, এবং পরে ক্লিক করলে রঙ সবুজ হয়ে যাবে।
সারাংশ
এসভিজি (SVG) তে hover effects এবং click events ব্যবহার করে আপনি গ্রাফিক্সের সাথে ইন্টারঅ্যাকটিভিটি যুক্ত করতে পারেন, যা ওয়েব পেজের ইউজার এক্সপিরিয়েন্স (UX) উন্নত করে। CSS এর মাধ্যমে হোভার ইফেক্ট এবং JavaScript এর মাধ্যমে ক্লিক ইভেন্ট সহজেই অ্যাড করা যায়, এবং এর মাধ্যমে আপনি অ্যানিমেশন, রঙ পরিবর্তন, আকার পরিবর্তন ইত্যাদি কার্যকলাপ তৈরি করতে পারবেন।
Read more