Css 用vw单位减去像素量定义的网格列?

Css 用vw单位减去像素量定义的网格列?,css,css-grid,viewport-units,Css,Css Grid,Viewport Units,我有一个带有网格模板列的网格:30vw 20vw 30vw 我想从其中两个宽度中减去一个固定的像素量,例如,我希望第一列的计算宽度为30vw-1px 我想要的是(下面的代码不起作用): 网格模板列:计算(30vw-1px)20vw计算(30vw-1px) 这样,我就可以在网格外部获得一个边界,该边界仍然可以作为视口比例使用(不希望以vw单位定义边界-希望其固定宽度为1px) 可能吗?您的calc()参数无效 你有这个: grid-template-columns: calc(30vw-1px)

我有一个带有
网格模板列的网格:30vw 20vw 30vw

我想从其中两个宽度中减去一个固定的像素量,例如,我希望第一列的计算宽度为
30vw-1px

我想要的是(下面的代码不起作用):

网格模板列:计算(30vw-1px)20vw计算(30vw-1px)

这样,我就可以在网格外部获得一个边界,该边界仍然可以作为视口比例使用(不希望以vw单位定义边界-希望其固定宽度为1px)

可能吗?

您的
calc()
参数无效

你有这个:

grid-template-columns: calc(30vw-1px) 20vw calc(30vw-1px)
您需要这样做:

grid-template-columns: calc(30vw - 1px) 20vw calc(30vw - 1px)
来自MDN:

+
-
运算符必须用空格包围

例如,
calc(50%-8px)
将被解析为后面的百分比 当
calc(50%-8px)
为 百分比后跟减法运算符和长度

同样地,
calc(8px+-50%)
被视为长度后跟 加法运算符和负百分比

*
/
运算符不需要空格,但为 一致性是允许的,也是推荐的


感谢@Michael_B,我的嵌套网格具有固定的左右像素填充量,非常适合以vw单位定义的父网格单元,因为它可以扩展!