ওভারভিউ
Drop Shadow ইফেক্ট একটি এলিমেন্টের আকার অনুযায়ী ছায়া (Shadow) তৈরি করে, নির্দিষ্ট X (হরিজন্টাল) এবং Y (ভার্টিক্যাল) অফসেট ও রঙে। লিগ্যাসি IE-এ filter: DropShadow() ব্যবহার হত, আধুনিক CSS-এ box-shadow (বক্সের জন্য) এবং filter: drop-shadow() (অন 규칙 আকার/টেক্সট/ইমেজের জন্য) ব্যবহার করা হয়।
লিগ্যাসি প্যারামিটার (IE Only)
| প্যারামিটার | বিবরণ |
| Color | ছায়ার রঙ (#RRGGBB ফরম্যাটে) |
| OffX | হরিজন্টাল অফসেট (পিক্সেলে)। পজিটিভ = ডান, নেগেটিভ = বাম। |
| OffY | ভার্টিক্যাল অফসেট (পিক্সেলে)। পজিটিভ = নিচে, নেগেটিভ = উপরে। |
| Positive | 1 = অপেক পিক্সেলে শ্যাডো, 0 = ট্রান্সপারেন্ট পিক্সেলে শ্যাডো। ডিফল্ট: 1。 |
লিগ্যাসি উদাহরণ (IE Only)
<html>
<head></head>
<body>
<img src="/css/images/logo.png" alt="CSS Logo"
style="filter: Chroma(Color=#000000) DropShadow(Color=#FF0000, OffX=2, OffY=2, Positive=1)">
<p>Text Example:</p>
<div style="width: 357px; height: 50px; font-size: 30pt; font-family: Arial Black; color: red;
filter: DropShadow(Color=#000000, OffX=2, OffY=2, Positive=1)">
CSS Tutorials
</div>
</body>
</html>
আধুনিক CSS পদ্ধতি (সর্ব ব্রাউজার)
১. Box Shadow (বক্স-মডেল এলিমেন্টের জন্য - div, button, card ইত্যাদি)
.box-shadow {
/* offset-x | offset-y | blur-radius | spread-radius | color */
box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.5);
/* একাধিক শ্যাডো */
box-shadow:
2px 2px 4px rgba(0,0,0,0.3),
-2px -2px 4px rgba(255,255,255,0.2); /* Neumorphism */
}
২. Filter: drop-shadow() (অনियमিত আকার, PNG ট্রান্সপারেন্সি, টেক্সট, SVG)
.drop-shadow {
/* offset-x | offset-y | blur-radius | color */
filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
/* একাধিক ড্রপ-শ্যাডো */
filter:
drop-shadow(2px 2px 4px rgba(0,0,0,0.3))
drop-shadow(-2px -2px 4px rgba(255,255,255,0.2));
}
৩. Text Shadow (শুধু টেক্সটের জন্য)
.text-shadow {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
পূর্ণ উদাহরণ (আধুনিক)
<!DOCTYPE html>
<html>
<head>
<style>
.demo-container { padding: 30px; font-family: sans-serif; }
/* Box Shadow Examples */
.box {
width: 200px; height: 100px; background: #fff;
margin: 20px; display: inline-block; border-radius: 8px;
}
.box-1 { box-shadow: 2px 2px 8px rgba(0,0,0,0.2); }
.box-2 { box-shadow: 0 4px 16px rgba(0,0,0,0.15); } /* Material Design elevation */
.box-3 { box-shadow: inset 2px 2px 4px rgba(0,0,0,0.2); } /* Inner shadow */
/* Drop Shadow (for transparent PNG) */
.icon-shadow {
filter: drop-shadow(4px 4px 8px rgba(0,0,0,0.3));
transition: filter 0.3s;
}
.icon-shadow:hover { filter: drop-shadow(8px 8px 16px rgba(0,0,0,0.4)); }
/* Text Shadow */
.text-shadow {
font-size: 32px; font-weight: bold; color: #333;
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
</style>
</head>
<body>
<div class="demo-container">
<h2>Box Shadow (Rectangular Elements)</h2>
<div class="box box-1">Basic Shadow</div>
<div class="box box-2">Material Elevation</div>
<div class="box box-3">Inner Shadow</div>
<h2>Drop Shadow (Transparent PNG/SVG)</h2>
<img src="icon.png" alt="Icon" class="icon-shadow" width="100">
<h2>Text Shadow</h2>
<div class="text-shadow">CSS Tutorials</div>
</div>
</body>
</html>
Box Shadow vs Drop Shadow - পার্থক্য
| বৈশিষ্ট্য | box-shadow | filter: drop-shadow() |
| আকার অনুসরণ | না (বক্স আকারে) | হ্যাঁ (পিক্সেল আলফা অনুসরণ) |
| PNG ট্রান্সপারেন্সি | বক্সে শ্যাডো | আসল আকারে শ্যাডো |
| পারফরম্যান্স | দ্রুত (কম্পোজিটর) | धीম (ফিল্টার পাস) |
| বর্ডার রেডিাস | অনুসরণ করে | আকার অনুসরণ করে |
| ক্লিপ পাথ | না | হ্যাঁ |
ব্যবহারের ক্ষেত্র
- box-shadow: কার্ড, বাটন, মডাল, ন্যাভবার, ইনপুট ফিল্ড (রেক্ট্যাঙ্গুলার এলিমেন্ট)
- drop-shadow(): আইকন (SVG/PNG), কাট-আউট শেপ, টেক্সট, জটিল আকার
- text-shadow: শুধু টেক্সটের জন্য (বेहतर পারফরম্যান্স)
সতর্কতা
- লিগ্যাসি
filter: DropShadow() শুধু IE 4-9-এ কাজ করে।
drop-shadow() ব্রাউজার রিপেইন্ট ট্রিগার করে - অতিরিক্ত ব্যবহার এড়ান।
box-shadow লেআউট স্পেস নেয় না, drop-shadow() ও নেয় না।