قانون @supports CSS

تعریف و استفاده

CSS @supports این قوانین برای بررسی اینکه آیا مرورگر از یک ویژگی CSS خاص پشتیبانی می‌کند یا خیر استفاده می‌شود و در صورت عدم پشتیبانی، استایل‌های جایگزین را تعریف می‌کند.

مثال

اگر مرورگر از display: grid پشتیبانی کند، این را اعمال کنید @supports CSS درون قوانین. اگر پشتیبانی نشود، این را اعمال کنید @supports استایل‌های کلاس .container خارج از قوانین:

/* اگر مرورگر از display: grid پشتیبانی نکند، این CSS را استفاده کنید */
.container {
  display: table;
  width: 90%;
  background-color: #2196F3;
  padding: 10px;
}
/* اگر مرورگر از display: grid پشتیبانی کند، این CSS را استفاده کنید */
@supports (display: grid) {
  .container {
    display: grid;
    grid: auto;
    grid-gap: 10px;
    background-color: #2196F3;
    padding: 10px;
  }
}

آزمایش کنید

syntax CSS

@supports (supports-condition) {
  /* اگر شرط درست باشد، این CSS را اعمال کنید */
}

مقدار خصوصی

مقدار توضیح
supports-condition

شرایط با representation نام-مقدار (property: value) یا syntax function() تعریف می‌شوند.

شرایط می‌توانند با and، or یا not ترکیب شوند.

selector()

این syntax function() است. بررسی کنید که آیا مرورگر از syntax انتخابگر مشخصی پشتیبانی می‌کند یا خیر.

مثلاً، @supports selector(h2 > p) اگر مرورگر از انتخابگرهای ترکیبی پشتیبانی کند، true بازمی‌گرداند و استایل CSS را اعمال می‌کند.

font-tech()

این syntax function() است. بررسی کنید که آیا مرورگر از فناوری فونت مشخصی پشتیبانی می‌کند یا خیر.

مثلاً، @supports font-tech(color-svg) اگر مرورگر از جدول‌های چندرنگ SVG پشتیبانی کند، true بازمی‌گرداند و استایل CSS را اعمال می‌کند.

font-format()

این syntax function() است. بررسی کنید که آیا مرورگر از فرمت فونت مشخصی پشتیبانی می‌کند یا خیر.

مثلاً، @supports font-format(woff) اگر مرورگر از WOFF 1.0 پشتیبانی کند، true بازمی‌گرداند و استایل CSS را اعمال می‌کند.

پشتیبانی مرورگر

اعداد در جدول نشان‌دهنده نسخه اولیه‌ای از مرورگر است که این @ قوانین را کاملاً پشتیبانی می‌کند.

@ قوانین Chrome Edge Firefox Safari Opera
@supports 28 12 22 9 12.1
font-format() 108 108 106 17 94
font-tech() 108 108 106 17 94
selector() 83 83 69 14.1 69