如何在 Material ui makeStyles 中使用 @supports css 规则?

Ana*_*tol 6 css reactjs material-ui

如何@supports在material ui makeStyles中使用css规则?

我尝试搜索,但没有找到任何描述如何包含 css 规则的内容,例如supports

这是我想要的样式:

@supports (display: grid) {
  div {
    display: grid;
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这个但没有成功:

const useStyles = makeStyles(() => ({
    paper: {
        '@supports': {
            '(display: grid)': {
                display: 'grid';
            },
        },
    }
}))
Run Code Online (Sandbox Code Playgroud)

Rya*_*ell 6

其语法类似于媒体查询的语法。就您而言,您需要以下内容:

const useStyles = makeStyles(() => ({
    paper: {
        '@supports (display: grid)': {
            display: 'grid'
        }
    }
}))
Run Code Online (Sandbox Code Playgroud)

这是一个工作示例:

import React from "react";
import Button from "@material-ui/core/Button";
import { makeStyles } from "@material-ui/core/styles";

const useStyles = makeStyles((theme) => ({
  button: {
    "@supports (background-color: red)": {
      marginTop: theme.spacing(5),
      backgroundColor: "red"
    },
    "@supports not (display: unsupportedvalue)": {
      color: "white"
    },
    "@supports not (display: grid)": {
      backgroundColor: "purple"
    }
  }
}));
export default function App() {
  const classes = useStyles();
  return (
    <Button className={classes.button} variant="contained">
      Hello World!
    </Button>
  );
}
Run Code Online (Sandbox Code Playgroud)

编辑 CSS 支持

相关回答:

相关文档: