Back to CSS Notes
Topic #187

CSS @supports

@supports applies styles only when a feature is supported, enabling progressive enhancement. It future-proofs modern CSS.


The CSS @supports Rule

The @supports rule lets you check if the browser supports a specific CSS property or value, and to define fallback styles if the feature is not supported.

This is useful for applying styles only when the browser can handle them.

Basic Syntax

@supports (property: value) {
  /* CSS rules to apply if condition is true */
}

Example: Using @supports with grid and flex

You can combine @supports with regular CSS to provide fallback styling.

Here, if the browser supports display: flex, the CSS inside the @supports rule will be applied. If not, the .container class outside the @supports rule will be applied:

Example

    /* use this CSS if the browser does not support display: flex */

.container {

  float: left;

  width: 100%;

}

/* use this CSS if the browser supports display: flex */

@supports (display: flex) {

  .container {

    display: flex;

  }

}

Here, if the browser supports display: grid, the CSS inside the @supports rule will be applied. If not, the .container class outside the @supports rule will be applied:

Example

    /* use this CSS if the browser does not support display: grid */
.container
    {
  display: table;
  width: 90%;
  background-color:
    #2196F3;
  padding: 10px;
}

/* use this CSS if the browser
    supports display: grid */
@supports (display: grid) {
  .container
    {
    display: grid;
    grid: auto;

    grid-gap: 10px;
    background-color: #2196F3;

    padding: 10px;
  }
}

Negating with not

You can use not to apply styles only when a feature is not supported:

Example

@supports not (display: grid) {

  .warning {

    background-color: pink;

    padding: 10px;

    border: 1px solid red;

  }

}

Combining Conditions

You can use and, or, and not for multiple conditions:

Example

@supports (display: grid) and (gap: 10px) {

  .container {

    display: grid;

    gap: 10px;

  }

}

Note: Always provide fallback styles outside of @supports, for older browsers.


CSS Reference

At-rule Description
@supports Used to test whether a browser supports a CSS feature

Want to go beyond the notes?

Join Coding Now Tech Institute's CSS course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

CSS @supports – FAQs

Quick answers about learning CSS @supports in CSS.

This free note from Coding Now Tech Institute explains CSS @supports in CSS — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every CSS topic on Coding Now Tech Institute, including CSS @supports, is 100% free with no signup required.
With focused practice, most students grasp CSS @supports in 1–3 days from these notes; pairing it with Coding Now Tech Institute's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the Coding Now Tech Institute Community (/community) — expert instructors answer within 24 hours.
Call NowEnroll Now