ویرگول
ورودثبت نام
رهام رفیعی تهرانی
رهام رفیعی تهرانیبرنامه نویسی یک شغل نیست، یک هنره.
رهام رفیعی تهرانی
رهام رفیعی تهرانی
خواندن ۱ دقیقه·۸ روز پیش

کار نکردن:host-context روی مرورگر firefox

امروز میخواستم با یک selector به اسم :host-context کار کنم. ولی متوجه شدم روی فایرفاکس کلا پشتیبانی نمیشه. برای همین تصمیم گرفتم یک مقاله در موردش بنویسم.

شبه‌کلاس :host-context() بخشی از Web Components و Shadow DOM است، اما پشتیبانی آن در مرورگرها یکدست نیست. به‌خصوص در Firefox، :host-context() برای مدت طولانی پشتیبانی نشده و در بسیاری از سناریوها هنوز قابل اتکا نیست.

مثلاً اگر چنین چیزی دارید:

ممکنه در Chrome کار کند ولی در Firefox اعمال نشه.

راه‌حل‌های جایگزین

۱. انتقال کلاس به خود Host (پیشنهادی)

به جای:

از:

استفاده کنید و کلاس رو مستقیماً روی کامپوننت قرار دهید:

۲. استفاده از CSS Custom Properties

روی والد:

و داخل Shadow DOM:

متغیرهای CSS از Shadow Boundary عبور می‌کنند و این روش معمولاً بهترین جایگزین برای :host-context() است.

۳. تنظیم Attribute یا Class با JavaScript

اگر باید وضعیت والد را تشخیص دهید:

و در CSS:

frontendcssweb development
۰
۰
رهام رفیعی تهرانی
رهام رفیعی تهرانی
برنامه نویسی یک شغل نیست، یک هنره.
شاید از این پست‌ها خوشتان بیاید