Skip to main content

Command Palette

Search for a command to run...

CSS Position এবং Hover Effect: একটি সহজ উদাহরণ

Updated
2 min read
CSS Position এবং Hover Effect: একটি সহজ উদাহরণ

আজকের আমরা একটি চমৎকার CSS Position ও Hover Effect কনসেপ্ট নিয়ে আলোচনা করব। যদি আপনি ওয়েব ডিজাইনে নতুন হয়ে থাকেন, তাহলে এই পোস্টটি আপনাকে বুঝতে সাহায্য করবে কিভাবে position, transform এবং transition ব্যবহার করে একটি ইমেজের উপর সুন্দর overlay effect তৈরি করা যায়।

🔧 ব্যবহৃত HTML কাঠামো

প্রথমে আমরা একটি div ক্লাস box তৈরি করেছি যার ভিতরে একটি ইমেজ এবং একটি overlay div রয়েছে।

<div class="box">
    <img src="../beautiful-golf-course.webp" alt="beautiful-golf-course">
    <div class="box-overlay"></div>
</div>

এই কাঠামোর মূল উদ্দেশ্য হলো - একটি ইমেজের উপর যখন মাউস নিয়ে যাওয়া হবে তখন overlay দেখা যাবে।


🎨 CSS বিশ্লেষণ

*{
    margin: 0;
    padding: 0;
}

প্রথমেই আমরা সবকিছুতে margin ও padding 0 করে দিচ্ছি যাতে layout গুলো ক্লিন থাকে।

📦 .box ক্লাস

.box {
    width: 300px;
    height: 200px;
    margin: 100px auto;
    position: relative;
    overflow: hidden;
}
  • position: relative; ব্যবহার করা হয়েছে যাতে overlay div কে absolute করে box-এর ভিতরে স্থাপন করা যায়।

  • overflow: hidden; দিয়ে ইমেজের বাইরে কিছু গেলে তা লুকিয়ে রাখা হয়।

🖼️ ইমেজ সেটিং

.box img {
    width: 100%;
}

ইমেজকে box-এর পুরো width অনুযায়ী স্কেল করে নিচ্ছে।

🌈 Overlay সেটআপ

.box .box-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: aqua;
    transform: translateY(-100%);
    opacity: 0.5;
    transition: 0.7s;
}
  • position: absolute;top: 0; left: 0; দিয়ে overlay-কে box-এর উপর সম্পূর্ণভাবে বসানো হয়েছে।

  • transform: translateY(-100%); এর মানে হলো overlay ডিভটি উপরের দিকে ১০০% সরিয়ে রাখা হয়েছে, ফলে এটি শুরুতে দেখা যায় না।

  • opacity: 0.5; এফেক্টকে স্বচ্ছ রাখে।

  • transition: 0.7s; এর মানে, হোভার করার সময় overlay ধীরে ধীরে নিচে নামবে।

🖱️ Hover এফেক্ট

.box:hover .box-overlay {
    transform: translateX(0);
}

হোভার করার সময় overlay translateY(-100%) থেকে translateX(0) হয়ে যাবে — অর্থাৎ এটি স্লাইড করে আসবে।

বিঃদ্রঃ: এখানে ছোট একটা ভুল আছে — হোভার করার সময় translateX(0) দিলে overlay ডিভটি নিচে নামবে না, কারণ এক্স অক্ষ বরাবর পরিবর্তন হচ্ছে। যদি overlay-কে উপরের দিক থেকে নিচে আনার ইফেক্ট দেওয়া হয়, তাহলে transform: translateY(0) দিতে হবে।

সঠিক কোড হবে:

.box:hover .box-overlay {
    transform: translateY(0);
}

11 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.