css - 为什么 minmax(0, 1fr) 对长元素有效而 1fr 却不行?

标签 css css-grid

所以我有这个网格:

+---------+------------------------------+---------+    
|  <div>  |  <p> - 1000 characters long  |  <div>  |
+---------+------------------------------+---------+

p 里面有一个没有空格的超长字符串。 div 是具有固定尺寸的占位符。 这会产生以上内容:

  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto minmax(0, 1fr) auto;

但是将 minmax(0, 1fr) 更改为 1fr 会得到:

+---------+----------------------------------------+    
|  <div>  |               <p> - 1000 characters long  |  <div>  |
+---------+----------------------------------------+

它溢出了它的父级并且超出了屏幕尺寸。为什么它的行为不像 minmax?

Codepen

最佳答案

因为1fr默认等同于minmax(auto, 1fr)

当您使用 minmax(0, 1fr) 时,这与独立的 1fr 有所不同。

在第一种情况下,轨道不能小于网格项的大小(最小大小为auto)。

在第二种情况下,轨道可以自由调整为 0 宽度/高度。

更多详情:

关于css - 为什么 minmax(0, 1fr) 对长元素有效而 1fr 却不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58884619/

相关文章:

javascript - 在javascript中一次使用多个鼠标事件

html - 横跨页面的水平条,每侧颜色不同

html - 使用网格布局时列重叠

html - 使图像占据页面上的所有剩余空间而不创建滚动条

html - 更改宽度属性是否会影响网格文本溢出?

整列的 CSS 网格边距顶部

html - 工具栏不显示 CSS 提供的颜色渐变

javascript - 如何分别对列表项内的 span 进行动画处理

css - 无法将背景图像添加到 Jumbotron for Rails App

html - 具有最大宽度、居中内容的 CSS 网格布局