این آموزش در تاریخ ۱۴۰۰/۱۱/۰۱ آپدیت شده است.
آموزش ویژگی filter در CSS
سلام خدمت تمامی دوستان و همراهان محترم سایت آموزشی فری لرن ، امیدوارم که حال همگیتون خوب باشه. لطفا در ادامه با آموزش ویژگی filter در CSS با من همراه باشید.
Free-Learn
آنچه در این جلسه میخوانید : [مخفی کن]
ویژگی filter در CSS
با استفاده از ویژگی filter
در CSS میتوان افکت ( Effect ) / جلوه های رنگی ( مثه سیاه و سفید ، تاری ، شفافیت و.. ) را بروی عناصر ( بیشتر بروی تصاویر ) در یک صفحه وب ایجاد و یا تعریف کرد.
Free-Learn
مثال از این ویژگی
در ادامه میتوانید یک مثال از ویژگی filter
را در زبان CSS مشاهده نمایید.
مثال شماره ۱ : استفاده از فیلتر ( grayscale )
مثال شماره ۲ : استفاده از فیلتر ( blur )
مثال شماره ۳ : استفاده از ۲ عدد فیلتر ( drop-shadow , sepia )
مثال شماره ۴ : متحرک سازی ویژگی filter با استفاده از انیمیشن ها در CSS
مثال شماره ۵ : استفاده از مقدار url جهت فراخوانی فیلترهای SVG
مثال شماره ۶ : وقتی فیلتر روی پدر اعمال بشه خب بصورت خودکار روی فرزندان هم اعمال میشه، حال یه ترفند برای جلوگیری از اعمال شدن فیلتر بروی فرزندان هستش اونم استفاده از شبه عنصر before ، یعنی فیلتر رو، روی شبه عنصر before اعمال میکنیم
Free-Learn
جدول مشخصات ویژگی filter در CSS
در جدول زیر میتوانید مشخصات کلی این ویژگی را در زبان CSS مشاهده نمایید.
مقدار پیش فرض | none |
---|---|
قابل ارث بری | ندارد | اطلاعات بیشتر |
قابل متحرک سازی | دارد | اطلاعات بیشتر |
نسخه | CSS3 |
نحوه استفاده در جاوااسکریپت | object.style.filter=”grayscale(100%)”; |
Free-Learn
پشتیبانی مرورگرها
در جدول زیر میتوانید مشاهده نمایید که آیا مرورگرهای اینترنتی از ویژگی filter
در CSS پشتیبانی میکنند یا خیر.
» عددی که در کنار -webkit- وجود دارد ، یعنی از آن نسخه به بالا باید از این پیشوند استفاده نمایید. ( درباره پیشوندها بیشتر بخوانید )
نام ویژگی | Chrome | Firefox | Opera | Safari | Edge |
filter | ۵۳ ۱۸ تا ۵۲ -webkit- |
۳۵ | ۴۰ ۱۵ تا ۳۹ -webkit- |
۹٫۱ ۶ تا ۹ -webkit- |
۷۹ |
Free-Learn
شکل نوشتاری
نحوه نوشتن یا استفاده یا سینتَکس (Syntax) این ویژگی در CSS بصورت زیر می باشد.
Free-Learn
جدول مقادیر ویژگی filter در CSS
در جدول زیر میتوانید، مقادیری را که میتوان در این ویژگی استفاده کرد مشاهده نمایید.
مقدار | توضیح |
---|---|
none | پیش فرض – هیچ فیلتری بروی عناصر ایجاد نخواهد شد |
blur(px) | باعث میشود عنصر بصورت تار نمایش داده شود |
(%)brightness | میزان روشنایی / شفافیت عنصر را مشخص میکند ۰% باعث میشه عنصر بصورت کامل سیاه شود و هر مقداری بیشتر از %۱۰۰ باعث روشنایی بیشتر عنصر میشه |
(%)contrast | میزان کنتراست عنصر را مشخص میکند ۰% باعث میشه عنصر بصورت کامل سیاه شود و هر مقداری بیشتر از %۱۰۰ باعث کنتراست بیشتر عنصر میشه |
()drop-shadow | برای ایجاد سایه برای عنصر مثال : |
(%)grayscale | برای سیاه و سفید شدن عنصر از %۰ به سمت %۱۰۰ باعث میشه عنصر سیاه و سفید شه |
hue-rotate(deg) | میزان چرخش / درجه رنگ بروی عنصر از ۰ درجه تا ۳۶۰ درجه میتواند مقدار بپذیرد |
(%)invert | میزان معکوس شدن رنگ عنصر از %۰ تا %۱۰۰ میتواند مقدار بپذیرد |
(%)opacity | میزان تاری / شفافیت عنصر را مشخص میکند ۰% کاملا تار / کدر می باشد و هرچه به سمت %۱۰۰ برود شفاف میشود |
(%)saturate | میزان اشباع رنگ عنصر را مشخص میکند مقدار بیشتر از %۱۰۰ باعث زیاد شدن میزان اشباع شدن عنصر میشه |
(%)sepia | ایجاد افکت سِپیا ( قهوه ای ) بروی عنصر از %۰ تا ۱۰۰% میتواند مقدار بپذیرد هرچقدر بسمت %۱۰۰ برود قهوه ای بیشتر میشود |
()url | برای فراخوانی مسیر فایل SVG یا استفاده از لنگر نحوه فراخوانی لنگر بصورت زیر می باشد : |
initial | استفاده از مقدار پیش فرض یا اولیه | اطلاعات بیشتر |
inherit | استفاده از مقدار پدر یا والد ( به ارث بری ) | اطلاعات بیشتر |
Free-Learn
نکات و توضیحات
- از مقادیر منفی نمیتوان در مقادیر grayscale ، invert ، opacity ، saturate و sepia استفاده کرد.
تفاوت drop-shadow با box-shadow چیست؟
- خب ما یه drop-shadow داریم و یه box-shadow که هردوتاش میتونن برای یک عنصر سایه ایجاد کنند ولی این دوتا یسری تفاوت هایی دارند که این تفاوت ها به شرح زیر می باشند :
- box-shadow خودش یه ویژگی هست ولی drop-shadow یه مقدار برای ویژگی filter
- box-shadow به باکس اصلی ( عنصر ) سایه میده ولی drop-shadow به باکس اصلی سایه نمیده
- مثلا اگه بخوایم به یه تصویر که با فرمت PNG ( یعنی تصاویری که زمینه ندارند ) سایه بدیم اگه از box-shadow استفاده کنیم سایه به دور کل تصویر و باکس اصلی تصویر ایجاد میشه ولی drop-shadow باعث میشه سایه فقط به دور خوده تصویر کشیده بشه نه باکس تصویر ( مشاهده مثال )
برای استفاده از چندین فیلتر بصورت همزمان، باید بین هر یک از فیلترها (یک فاصله ) قرار داد : مثال
برخی از مرورگرها در نسخه های قدیمی تر از این ویژگی پشتیبانی نمی کنند لذا باید برای حل این مشکل از یسری دستورات پیشوندی از نسخه مشخص شده آن مرورگر ( که در جدول پشتیبانی مرورگرها مشخص شده ) استفاده نمایید.
- -webkit- برای مرورگر کروم و سافاری و اُپرا