我仍然是编程的初学者,而且我对CSS网格没有什么经验。
我需要呈现一个被分成两列的组件。左列具有minmax(570px, 720px)宽度。右列的宽度为minmax(380px, 100vw)。
问题是左列从不更改其最小宽度570 of。
我需要左边的列是720 is,直到屏幕是1440 is。当屏幕小于1440 it时,左列开始逐渐减少,直到达到570 it。
你能告诉我怎么做吗?
这是我输入codesandbox.io的代码
我希望我能很好地解释我需要解决的问题。

import React from "react";
const App = () => {
const ref1 = React.useRef(null);
const ref2 = React.useRef(null);
const [width1, setWidth1] = React.useState(0);
const [width2, setWidth2] = React.useState(0);
React.useEffect(() => {
setWidth1(ref1.current.offsetWidth);
const getwidth = () => {
setWidth1(ref1.current.offsetWidth);
};
window.addEventListener("resize", getwidth);
return () => window.removeEventListener("resize", getwidth);
}, []);
React.useEffect(() => {
setWidth2(ref2.current.offsetWidth);
const getwidth = () => {
setWidth2(ref2.current.offsetWidth);
};
window.addEventListener("resize", getwidth);
return () => window.removeEventListener("resize", getwidth);
}, []);
return (
<div
style={{
width: "100vw",
height: "100vh",
maxWidth: "100%"
}}
>
<div
style={{
height: "100vh"
}}
>
<div
style={{
display: "flex",
flexDirection: "row"
}}
>
<div
ref={ref1}
style={{
border: "1px solid blue",
backgroundColor: "lightblue",
display: "grid",
gridTemplateColumns: "minmax(570px, 720px)",
fontSize: "30px"
}}
>
Left - {width1}
</div>
<div
ref={ref2}
style={{
border: "1px solid red",
backgroundColor: "lightcoral",
display: "grid",
gridTemplateColumns: "minmax(380px, 100vw)",
fontSize: "30px"
}}
>
Right - {width2}
</div>
</div>
</div>
</div>
);
};
export default App;
非常感谢你的帮助
发布于 2022-07-01 17:46:42
尝试查看最大宽度,最小宽度的属性。
max-width:720px;
min-width:570px;因为您希望div在精确的px id处移动,所以在JS中使用if-else条件。
https://stackoverflow.com/questions/72832262
复制相似问题