CSS
Funktionsfrågor
Sök…
Syntax
- @supports [villkor] {/ * CSS-regler för tillämpning * /}
parametrar
| Parameter | detaljer |
|---|---|
(property: value) | Utvärderar sant om webbläsaren kan hantera CSS-regeln. Parentesen kring regeln krävs. |
and | Returnerar sant endast om både föregående och nästa villkor är sanna. |
not | Negerar nästa villkor |
or | Returnerar sant om antingen föregående eller nästa villkor är sant. |
(...) | Grupper villkor |
Anmärkningar
Funktionsdetektering med @supports stöds i Edge, Chrome, Firefox, Opera och Safari 9 och senare.
Grundläggande användning av @support
@supports (display: flex) {
/* Flexbox is available, so use it */
.my-container {
display: flex;
}
}
När det gäller syntax är @supports mycket lik @media , men istället för att upptäcka skärmstorlek och orientering, kommer @supports att upptäcka om webbläsaren kan hantera en given CSS-regel.
Istället för att göra något som @supports (flex) , märker du att regeln är @supports (display: flex) .
Kedjefunktionsdetekteringar
Använd and operatören för att upptäcka flera funktioner på en gång.
@supports (transform: translateZ(1px)) and (transform-style: preserve-3d) and (perspective: 1px) {
/* Probably do some fancy 3d stuff here */
}
Det finns också en or operatör och en not operatör:
@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(...) */
}
För den ultimata @supports upplevelsen, prova att gruppera logiska uttryck med parentes:
@supports ((display: block) and (zoom: 1)) or ((display: flex) and (not (display: table-cell))) or (transform: translateX(1px)) {
/* ... */
}
Detta fungerar om webbläsaren
- Stöder
display: blockOCHzoom: 1eller - Stöder
display: flexOCH INTEdisplay: table-cell, eller - Stöder
transform: translateX(1px).
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow