【发布时间】:2020-06-29 05:07:14
【问题描述】:
我正在构建一个响应式 CSS 网格,其中包含大小与所需纵横比匹配的项目。我已经尝试了其他一些技术中的填充黑客,但没有什么比使用 JS 来确定所需列数和间隙大小的1fr 的像素值,然后将其应用于使用repeat(auto-fill, minmax(${width}px, 0)) 调整行大小。
不幸的是,这种方法带来了一个相当讨厌的副作用:父 div (display: grid) 不知道其自身内容的高度,因此它的大小永远不会正确。结果,它永远不能显示超过一行的网格。其余的网格项显示为第一行下方的一条线。
为了解决这个问题,我尝试将父级的高度设置为 100%,但这涵盖了页面上的所有其他内容。我尝试过使用容器来调整大小,但也没有任何运气。我也试过overflow: auto,没有效果。如果我可以在我的脚本中计算并手动设置父 div 的高度,那可能会起作用,但我无法找到这样做的方法(而且似乎也是一种混乱的方法)。
有没有(好的)方法可以做到这一点?这是该问题的演示:https://codepen.io/jmindel/pen/GRoMjEw
【问题讨论】:
标签: javascript html css responsive css-grid