使用 Material-UI 断点和像素值而不是 sm、md、lg、xl
Using Material-UI breakpoints with pixel values instead of sm, md, lg, xl
我这里有一些代码
[theme.breakpoints.only('lg')]: {}
它在我想要的断点处工作和移动。但是,当我使用以下
[theme.breakpoints.between('1200', '1021')]: {}
它实际上并没有打破那些点。我想知道如何在断点部分以 mui 将拾取它的方式使用实际数字。我不想为其创建新的断点。
theme.breakpoints.between
函数支持传递数字而不是断点键。唯一的问题是您以错误的顺序传递它们。您需要先具有较低的像素值。
目前您的代码将 generate the following:
@media (min-width:1200px) and (max-width:1020.95px)
这不会匹配任何内容,因为任何超过最小宽度的内容都不可能满足最大宽度条件。
如果交换两个参数并执行 theme.breakpoints.between(1021, 1200)
,您将改为 get the following(效果会更好):
@media (min-width:1021px) and (max-width:1199.95px)
还值得一提的是 theme.breakpoints.x
函数只是 convenience methods for creating media query strings。它在 JSS 样式中也可以很好地直接指定媒体查询,例如在以下示例中:
import React from "react";
import { makeStyles, useTheme } from "@material-ui/core/styles";
const useStyles = makeStyles({
myCustomClass: {
"@media (min-width:600px) and (max-width:1199.95px)": {
backgroundColor: "green"
},
"@media (max-width:599.95px)": {
backgroundColor: "blue"
},
"@media (max-width:900px)": {
color: "yellow"
}
}
});
export default function App() {
const theme = useTheme();
const classes = useStyles();
return (
<div className={classes.myCustomClass}>
theme.breakpoints.between("1021", "1200"):{" "}
{theme.breakpoints.between("1021", "1200")}
<br />
theme.breakpoints.between("sm", "md"):{" "}
{theme.breakpoints.between("sm", "md")}
<br />
theme.breakpoints.only("md"): {theme.breakpoints.only("md")}
</div>
);
}
我这里有一些代码
[theme.breakpoints.only('lg')]: {}
它在我想要的断点处工作和移动。但是,当我使用以下
[theme.breakpoints.between('1200', '1021')]: {}
它实际上并没有打破那些点。我想知道如何在断点部分以 mui 将拾取它的方式使用实际数字。我不想为其创建新的断点。
theme.breakpoints.between
函数支持传递数字而不是断点键。唯一的问题是您以错误的顺序传递它们。您需要先具有较低的像素值。
目前您的代码将 generate the following:
@media (min-width:1200px) and (max-width:1020.95px)
这不会匹配任何内容,因为任何超过最小宽度的内容都不可能满足最大宽度条件。
如果交换两个参数并执行 theme.breakpoints.between(1021, 1200)
,您将改为 get the following(效果会更好):
@media (min-width:1021px) and (max-width:1199.95px)
还值得一提的是 theme.breakpoints.x
函数只是 convenience methods for creating media query strings。它在 JSS 样式中也可以很好地直接指定媒体查询,例如在以下示例中:
import React from "react";
import { makeStyles, useTheme } from "@material-ui/core/styles";
const useStyles = makeStyles({
myCustomClass: {
"@media (min-width:600px) and (max-width:1199.95px)": {
backgroundColor: "green"
},
"@media (max-width:599.95px)": {
backgroundColor: "blue"
},
"@media (max-width:900px)": {
color: "yellow"
}
}
});
export default function App() {
const theme = useTheme();
const classes = useStyles();
return (
<div className={classes.myCustomClass}>
theme.breakpoints.between("1021", "1200"):{" "}
{theme.breakpoints.between("1021", "1200")}
<br />
theme.breakpoints.between("sm", "md"):{" "}
{theme.breakpoints.between("sm", "md")}
<br />
theme.breakpoints.only("md"): {theme.breakpoints.only("md")}
</div>
);
}