আমি ওভারলে এলিমেন্টের জায়গায় সিউডো এলিমেন্ট ব্যবহার করার পরামর্শ দেব সিউডো উপাদানগুলি সংযুক্ত imgউপাদানগুলিতে যুক্ত করা যায় না , তবু আপনাকে অবশ্যই imgউপাদানটি মোড়ানো দরকার ।
এখানে উদাহরণস্বরূপ লাইভ করুন - পাঠ্যের সাথে উদাহরণ দিন
<div class="image">
<img src="http://i.stack.imgur.com/Sjsbh.jpg" alt="" />
</div>
সিএসএস হিসাবে, উপাদানটির উপর alচ্ছিক মাত্রা নির্ধারণ করুন .imageএবং তুলনামূলকভাবে এটি অবস্থান করুন। আপনি যদি কোনও প্রতিক্রিয়াশীল চিত্রের জন্য লক্ষ্য রাখছেন তবে মাত্রা বাদ দিন এবং এটি এখনও কাজ করবে (উদাহরণস্বরূপ) । এটি কেবলমাত্র লক্ষনীয় যে মাত্রাগুলি অবশ্যই উপাদানটির বিপরীতে পিতামণ্ডলের উপর থাকতে হবে img, দেখুন ।
.image {
position: relative;
width: 400px;
height: 400px;
}
সন্তানের imgউপাদানটিকে 100%পিতামাতার প্রস্থ দিন এবং vertical-align:topডিফল্ট বেসলাইন প্রান্তিককরণের সমস্যাগুলি সংশোধন করতে যুক্ত করুন ।
.image img {
width: 100%;
vertical-align: top;
}
সিউডো উপাদান হিসাবে, একটি সামগ্রীর মান সেট করুন এবং .imageউপাদানটির সাথে সম্পর্কিত হয়ে একেবারে অবস্থান দিন । এর প্রস্থ / উচ্চতা 100%নিশ্চিত করবে যে এটি বিভিন্ন imgমাত্রার সাথে কাজ করে । আপনি যদি উপাদানটি ট্রানজিশন করতে চান 0তবে একটি অস্বচ্ছতা সেট করুন এবং স্থানান্তর বৈশিষ্ট্য / মান যুক্ত করুন।
.image:after {
content: '\A';
position: absolute;
width: 100%; height:100%;
top:0; left:0;
background:rgba(0,0,0,0.6);
opacity: 0;
transition: all 1s;
-webkit-transition: all 1s;
}
1ট্রানজিশনের সুবিধার্থে সিউডো এলিমেন্টের উপর ঘোরাঘুরি করার ক্ষেত্রে একটি অস্বচ্ছতা ব্যবহার করুন :
.image:hover:after {
opacity: 1;
}
এখানে ফলাফল শেষ করুন
আপনি যদি হোভারটিতে পাঠ্য যোগ করতে চান:
সহজ পদ্ধতির জন্য, পাঠ্যটিকে সিউডো উপাদানটির contentমান হিসাবে যুক্ত করুন :
এখানে উদাহরণস্বরূপ
.image:after {
content: 'Here is some text..';
color: #fff;
}
এটি বেশিরভাগ ক্ষেত্রে কাজ করা উচিত ; তবে আপনার যদি একাধিক imgউপাদান থাকে তবে আপনি একই লেখাটি হোভারে প্রদর্শিত নাও হতে পারেন। সুতরাং আপনি পাঠ্যটিকে একটি data-*গুনের মধ্যে সেট করতে পারেন এবং তাই প্রত্যেকের জন্যই অনন্য পাঠ্য থাকতে পারেimg উপাদানগুলির ।
এখানে উদাহরণস্বরূপ
.image:after {
content: attr(data-content);
color: #fff;
}
এর contentমান সহ attr(data-content), ছদ্ম উপাদানটি .imageউপাদানটির data-contentবৈশিষ্ট্য থেকে পাঠ্য যুক্ত করে :
<div data-content="Text added on hover" class="image">
<img src="http://i.stack.imgur.com/Sjsbh.jpg" alt="" />
</div>
আপনি কিছু স্টাইলিং যুক্ত করতে পারেন এবং এর মতো কিছু করতে পারেন:
এখানে উদাহরণস্বরূপ
উপরের উদাহরণে, :afterসিউডো উপাদানটি কালো ওভারলে হিসাবে কাজ করে, তবে :beforeছদ্ম উপাদানটি ক্যাপশন / পাঠ্য। যেহেতু উপাদানগুলি একে অপরের থেকে স্বতন্ত্র, আপনি আরও অনুকূল অবস্থানের জন্য পৃথক স্টাইলিং ব্যবহার করতে পারেন।
.image:after, .image:before {
position: absolute;
opacity: 0;
transition: all 0.5s;
-webkit-transition: all 0.5s;
}
.image:after {
content: '\A';
width: 100%; height:100%;
top: 0; left:0;
background:rgba(0,0,0,0.6);
}
.image:before {
content: attr(data-content);
width: 100%;
color: #fff;
z-index: 1;
bottom: 0;
padding: 4px 10px;
text-align: center;
background: #f00;
box-sizing: border-box;
-moz-box-sizing:border-box;
}
.image:hover:after, .image:hover:before {
opacity: 1;
}