Buscar..


Sintaxis

  • @supports [condición] {/ * reglas CSS para aplicar * /}

Parámetros

Parámetro Detalles
(property: value) Evalúa verdadero si el navegador puede manejar la regla CSS. Se requieren los paréntesis alrededor de la regla.
and Devuelve verdadero solo si las condiciones anteriores y siguientes son verdaderas.
not Niega la siguiente condición.
or Devuelve verdadero si la condición anterior o siguiente es verdadera.
(...) Condiciones de los grupos

Observaciones

La detección de @supports mediante @supports se admite en Edge, Chrome, Firefox, Opera y Safari 9 y superiores.

Uso básico de los soportes

@supports (display: flex) {
  /* Flexbox is available, so use it */
  .my-container {
    display: flex;
  }
}

En términos de sintaxis, @supports es muy similar a @media , pero en lugar de detectar el tamaño y la orientación de la pantalla, @supports detectará si el navegador puede manejar una regla CSS determinada.

En lugar de hacer algo como @supports (flex) , observe que la regla es @supports (display: flex) .

Encadenamiento de detecciones de características.

Para detectar múltiples funciones a la vez, use el operador and .

@supports (transform: translateZ(1px)) and (transform-style: preserve-3d) and (perspective: 1px) {
  /* Probably do some fancy 3d stuff here */
}

También hay un operador or not y un operador:

@supports (display: flex) or (display: table-cell) {
  /* Will be used if the browser supports flexbox or display: table-cell */
}
@supports not (-webkit-transform: translate(0, 0, 0)) {
  /* Will *not* be used if the browser supports -webkit-transform: translate(...) */
}

Para la mejor experiencia de @supports , intente agrupar expresiones lógicas con paréntesis:

@supports ((display: block) and (zoom: 1)) or ((display: flex) and (not (display: table-cell))) or (transform: translateX(1px)) {
  /* ... */
}

Esto funcionará si el navegador

  1. display: block soportes display: block Y zoom: 1 , o
  2. display: flex Y NO display: table-cell , o
  3. Soporta la transform: translateX(1px) .


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow