样式组件内的动态 minmax 值
Dynamic minmax values inside styled component
我正在尝试使带样式的组件内的 minmax 函数内的 250px 数字动态化。
通常我可以这样使用:
minmax(${props => props.minWidth}, 1fr)
但这会立即中断,甚至不会呈现,因为它是无效语法。
这是我现在的代码,不是动态的。非常感谢任何想法:)
const GridContainer = styled.div`
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
grid-auto-rows: auto;
grid-gap: 20px;
width: 100%;
`;
您需要使用模板文字。
下面是在样式组件中正确使用 props 的代码。
const GridContainer = styled.div`
display: grid;
grid-template-columns: ${(p) => `repeat(auto-fit, minmax(${p.minWidth}, 1fr))`};
grid-auto-rows: auto;
grid-gap: 20px;
width: 100%;
`;
使用默认的最小宽度。
const GridContainer = styled.div`
display: grid;
grid-template-columns: ${(p) => `repeat(auto-fit, minmax(${p.minWidth || '250px'}, 1fr))`};
grid-auto-rows: auto;
grid-gap: 20px;
width: 100%;
`;
我正在尝试使带样式的组件内的 minmax 函数内的 250px 数字动态化。
通常我可以这样使用:
minmax(${props => props.minWidth}, 1fr)
但这会立即中断,甚至不会呈现,因为它是无效语法。
这是我现在的代码,不是动态的。非常感谢任何想法:)
const GridContainer = styled.div`
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
grid-auto-rows: auto;
grid-gap: 20px;
width: 100%;
`;
您需要使用模板文字。
下面是在样式组件中正确使用 props 的代码。
const GridContainer = styled.div`
display: grid;
grid-template-columns: ${(p) => `repeat(auto-fit, minmax(${p.minWidth}, 1fr))`};
grid-auto-rows: auto;
grid-gap: 20px;
width: 100%;
`;
使用默认的最小宽度。
const GridContainer = styled.div`
display: grid;
grid-template-columns: ${(p) => `repeat(auto-fit, minmax(${p.minWidth || '250px'}, 1fr))`};
grid-auto-rows: auto;
grid-gap: 20px;
width: 100%;
`;