如何解释“grid-template-rows: auto auto 1fr auto”?

2024-02-18

最近,我使用创建了一个布局CSS grid https://www.w3.org/TR/css-grid-1/。虽然这很有效,但我对它的工作原理感到困惑。具体来说,我对这条线感到困惑grid-template-rows: auto auto 1fr auto;.

这里最终发生的是页眉和页脚根据内容调整大小,这是有道理的,因为它们跨越了页面的宽度。文章本身根据其内容调整大小。但是,“标题”和“导航”被分开,标题根据内容调整大小,而导航占据其余空间。

如果我用过grid-template-rows: auto auto auto auto;相反,标题和导航将共享相同的间距,这不是我想要的。

怎么样auto auto 1fr auto解释以便它给我调整大小,使标题占据所需的最小空间,而导航占据其余空间?在这种情况下“fr”和“auto”如何交互?

main {
    display: grid;
    grid-template-columns: 10rem auto;
    grid-template-rows: auto auto 1fr auto;
    grid-template-areas: "header header" "title article" "nav article" "footer footer";
}
    
header {
  grid-area: header;
  background: lightblue;
}

div {
  grid-area: title;
  background: orange;
}

nav {
  grid-area: nav;
  background: pink;
}

article {
  grid-area: article;
  background: yellow;
}
  
footer {
  grid-area: footer;
  background: lightblue;
}
<main>
<header>This is the header</header>
<div>This is the title</div>
<nav>This is the nav</nav>
<article>
  This is the article. This is the article. This is the article. This is the article.
  This is the article. This is the article. This is the article. This is the article.
  This is the article. This is the article. This is the article. This is the article.
  This is the article. This is the article. This is the article. This is the article.
  This is the article. This is the article. This is the article. This is the article.
  This is the article. This is the article. This is the article. This is the article.
</article>
<footer>This is the footer</footer>
</main>

作为一个经验法则,

  • fr是贪婪的,
  • auto is shy.

当浏览器渲染你的网格时,first它计算了必要的尺寸auto元素 - 他们都得到了他们可以忍受的最低限度 - 并且then,在知道所有其他大小后,它会将剩余空间分配给fr细胞。分配的工作方式很明显:将数字相加,切分蛋糕,给每个人所要求的金额。就像,你有1fr, 1fr, 3fr and 2fr在定义中 - 数字加起来为7,因此剩余的空间将被切成7等份,然后每个人都得到自己的份额。

分割水平空间

记住这一点,网格将成为你最好的朋友:

  • 1fr 1fr 1fr--------> 3 个相等的列,
  • auto auto auto----> 3 个自适应宽度列
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解释“grid-template-rows: auto auto 1fr auto”? 的相关文章

  • chrome css 动画上的抖动

    尝试使用两个具有相同背景图像 svg 的居中 div 制作一个从中心淡入图像的 css 动画 并为其宽度和背景位置设置动画 问题是 在 chrome 上 存在严重的抖动问题 也许是 chrome 循环执行动画步骤 而不是同时执行它们 这是j
  • 使用 SASS 切换用户主题 - Ruby on Rails

    所以我有一个 Rails 管理系统 允许用户选择一个主题 基本上是一组 SASS 颜色变量 它将使用新颜色重新编译 application css scss 当用户从下拉菜单中选择并提交时 更改此设置的最佳方法是什么 我阅读了一些有关缓存和
  • 0 因为饱和度和亮度不起作用,但 0% 在 hsl/hsla 中起作用?

    我正在尝试一个简单的演示 其中我为元素赋予了颜色hsl 根据我的经验 我知道0CSS 中的 ZERO 是无单位的 如果要指定 0 作为值 可以保留单位 然而 情况似乎并非如此hsl hsla 在 Chrome 和 Firefox 上 结果都
  • 如何让左浮动和右浮动在同一条线上?

    问题 The left part nav ul li which float left and the right part nav search which float right are not in a line it should
  • CSS变量名可以以数字开头吗?

    我想知道定义一个以这样的数字开头的 css 变量是否有效 root 1space 32px 这在 Chrome 上工作得很好 但是该代码没有经过验证https jigsaw w3 org css validator https jigsaw
  • CSS3输入元素的圆角,没有js/图像

    谁可以为输入元素制作圆角 我需要一种不使用 javascript 和图像的方法 Added
  • Bootstrap 3 在移动设备上滑入菜单/导航栏 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在构建一个基于浏览器的移动应用程序 我决定使用 Bootstrap 3 作为设计的 CSS 框架 Bootstrap
  • 带圆角边框的 Div

    我不明白获得 div 的更大圆角底部边框的公式 以及是否有更简单的方法在 Bootstrap 中实现它 现在是这样的 以及我想如何开发它 header background color blue height 40px width 90px
  • 如何编辑 QProgressBar 的样式表

    我无法在我的应用程序中编辑进度条的颜色 仅编辑文本颜色 pyhton 3 9 PySide6 QT Creator 7 0 2 Python应用程序 https i stack imgur com 6hKFI png import sys
  • 使用 css resize:both 调整表格单元格的大小;不使用表

    使用 css resize both 调整表格单元格大小不适用于表格 我需要调整表格及其单元格的大小 可以使用 css 调整大小 css resize both 在 div 中有效 但在表标签中无效 table border 1 tr td
  • HTML 嵌入对象具有灰色背景。可以透明吗?

    我使用带有开源插件的 Firefox 来播放视频 视频被 尽可能好地 缩放以适应嵌入对象的宽度和高度中定义的可用空间 但有时右侧和 或底部会有一点灰色边框 看来这不是我的父 div 的背景颜色 因为更改它根本没有效果 这是 HTML div
  • CSS - 为什么我无法设置 元素的高度和宽度?

    我正在尝试使用以下 html 标记创建 css 按钮 a href access php class css button red Forgot password a 但它最终不会比中间的文本大 即使我已经设置了班级的高度和宽度 顺便说一句
  • 使用 GD lib 过滤器标准化 CSS 过滤器

    我想让用户拖动范围滑块并通过实时预览 CSS 滤镜 调整图像的亮度和对比度 然后使用 GD 库保存调整 但是 我似乎无法从 CSS 过滤器和 GD lib 亮度和对比度过滤器获得相同的结果 我的 CSS 过滤器范围为 50 150 其中 1
  • 如何使用 Bourbon Neat Framework 实现移动优先

    我一直在使用 bourbon clean 来进行桌面优先布局 效果很好 不过 我想做一个移动优先版本 从移动开始 然后逐步向上 默认网格为 12 列 对于移动设备 我通常使用 4 列网格 我尝试将网格更改为 4 列 然后扩展到 12 列 但
  • iPad Safari 100% 高度问题

    我的页面上有一个模态 div 它使背景变灰 如果我将overlay div的高度设置为100 它在IE 桌面 上工作正常 但在iPad Safari上 完整的高度不会变灰 究竟是什么问题 这与固定位置 视口有关吗 请帮忙 下面是相同的 CS
  • 如何用纯JavaScript控制变换距离

    我做的http codepen io adamchenwei pen dOvJNX http codepen io adamchenwei pen dOvJNX 我尝试对 dom 应用某种移动方式 使其移动固定距离并停止 而不是动画并移动穿
  • 如何使用 jQuery 在按下按钮后保持按钮处于活动状态

    我见过一些非常相似的问题 但一直无法找到我正在寻找的答案 我已经确定了解决方法 但想知道执行该任务的正确方法 我想要的是单击按钮并使活动状态保持不变 下一次单击将切换状态 这是所需的 我真正需要知道的是如何解决 uiButton activ
  • Mobile Safari (iPhone) CSS 垂直居中/行高 CSS 问题

    有一个问题 我一直试图在各个项目中解决 但运气不佳 我有一些divs 内的文本以 CSS 为中心 使用display block and line height 我也尝试过padding和固定的高度 通常 这些设置要么只是标题 要么有时是按
  • 媒体查询:如何定位桌面、平板电脑和移动设备?

    我一直在对媒体查询进行一些研究 但我仍然不太明白如何定位特定大小的设备 我希望能够针对台式机 平板电脑和移动设备 我知道会存在一些差异 但如果有一个可用于针对这些设备的通用系统 那就太好了 我发现的一些例子 Mobile only scre
  • 在桌面和移动设备上编写 2 列和 3 列的 Flexbox 代码(换行)

    我真的很难弄清楚这个 CSS flexbox 解决方案 基本上有两个问题 一个是 2 列布局 另一个是 3 列布局 2 列 我认为这可能非常简单 3 列 这可能更高级一些 容器类是 嗯 container 而孩子们只是 left right

随机推荐

  • Ehcache 与静态地图缓存实现

    我有几个表 其中的条目很少 并且它们永远不会动态更改 所以我想将整个表缓存在内存中以减少数据库的负载 我可以通过静态地图并将地图填充到静态块中轻松实现这一点 我想知道 Ehcache hibernate 是否可以以更有效的方式实现同 样的功
  • 在 data.table 中多次使用 :=

    我经常发现自己使用以下方法进行一长串链式计算 在同一个数据表上 例如 像这样的东西 test data table 1 10 1 10 1 10 1 10 test V1 V1 2 test V2 V1 V2 test V3 V2 V3 t
  • 使用 jQuery / AJAX 解码 JSON

    我正在尝试使用 jQuery 解码 JSON 这是我得到的结果 例如一个班级 这里有一个学生 Students Name John Grade 17 TotalClass 17 TotalCount 1 这就是我所做的 j ajax typ
  • 哪些 Web 框架和语言的开发时间最短?

    我正在尝试将一些网络开发想法付诸实践 不幸的是 我将是唯一的开发人员 因此我专注于获得一个良好的可调试 可测试的设置 以便我可以快速开发应用程序 您会推荐哪些语言 开发风格和框架来实现快速开发 上次我检查 RoR 是下一件大事 但那是很久以
  • 无法单独构建 Flutter Web 和 Flutter Mobile 应用

    我正在构建一个 flutter 项目 并且在将 Web 和移动代码集成到单个项目中时遇到问题 我想在我的移动代码中使用 Moor 和 Moor FFI 但即使我的 web main dart 和移动代码 main dev dart 的入口点
  • 使用 Flask-Session 扩展在 Flask 会话中未设置密钥

    现在我正在使用 Flask 第三方库Flask 会话 https flask session readthedocs io en latest 我没有运气让会议正常进行 当我连接到我的网站时 出现以下错误 运行时错误 会话不可用 因为没有密
  • 是否可以使用迭代器将向量分成 10 个组?

    I have let my vec 0 25 collect
  • g++版本兼容性

    这是一个特定的海湾合作委员会相关问题 我有一个用 g 4 1 2 编译的库 我想提供给用户 用户可以在他们的代码中使用我们的 API 并链接我们的库来创建最终的可执行文件 我的问题与 g 版本兼容性有关 我们的一些用户使用 g 4 4 3
  • 如何在同一域中托管我的 API 和 Web 应用程序?

    我有一个Rails API 和一个Web 应用程序 使用express 彼此完全分开且独立 我想知道的是 我必须单独部署它们吗 如果我这样做 我怎样才能使我的 api 处于mysite com api和网络应用程序mysite com 我见
  • 如何在 Haskell 的 TChan 上的生产者/消费者情况下限制生产者?

    我们有一些东西在 TChan 上倾销值 然后由消费者处理这些值 但消费者无法跟上 因此当生产者在通道上倾倒大量内容时 我们会使用大量内存 但消费者却无法跟上 如果通道队列达到一定大小或某种程度 是否有一种直接的方法让生产者阻塞 以便我们可以
  • Xcode 调试器将 Swift 字典报告为空(po reports {})

    当我等到 Xcode 6 1 1 在该行之后遇到断点时 let metrics leading 15 0 size 44 0 然后输入po metrics调试器报告 延迟几秒后 这似乎是错误的 po metrics count报告2 哪个是
  • Map[..] 上的 Scala map() 比 mapValues() 慢得多

    在我编写的 Scala 程序中 我有一个scala collection Map将字符串映射到一些计算值 详细来说是Map String Double immutable Map String Double Double 我知道这很丑 应该
  • 如何修复此错误:“ImportError:DLL 加载失败:找不到指定的模块。”使用 PyQt5

    我目前使用 Python 3 6 8 和 PyQt5 我的程序运行良好 但在 Windows 更新后 一切都停止运行 这是错误 Traceback most recent call last File main py line 10 in
  • 从 Zingchart 中的 CSV 数据获取系列和值

    While creating mixed chart in Zingchart we can pass the type attribute values with values array But I m not sure when re
  • Ruby 中的时间范围?

    我想知道某个时间是否属于schedule或其他 就我而言 用于计算time is in 夜间时间表 or 正常时间表 我已经找到了这个解决方案 NIGHT 21 00 06 00 def night date date str date s
  • 如何在 Visual Studio Code 中将 python 作为主模块运行

    如何在 Visual Studio Code 中运行 python主模块 从命令行我会使用 m开关 比如 python m program py 我需要这个才能使相对导入工作 有什么我可以添加到的launch json file 如果这是不
  • git svn fetch '运行上下文时出错:软件导致连接中止...'

    几个月前 我 GIT 克隆了一个大型 SVN 存储库 6GB 大约 10 个分支 3 年的每日日志 克隆花了很多小时才完成 多次停止 不得不继续git svn fetch 与此同时 由于其他项目变得更加优先 SVN 到 Git 的迁移被搁置
  • 协议映射器在 Keycloak 中如何工作?

    我正在尝试一个示例来将用户属性添加到声明中 我正在按照这个例子here https www baeldung com keycloak custom user attributes 我正在尝试访问过滤器中的声明 但没有成功 我想了解协议映射
  • spring - 使用谷歌番石榴缓存

    我试图在我的 Spring 应用程序中使用谷歌番石榴缓存 但结果永远不会缓存 这是我的步骤 在conf文件中 EnableCaching Configuration public class myConfiguration Bean nam
  • 如何解释“grid-template-rows: auto auto 1fr auto”?

    最近 我使用创建了一个布局CSS grid https www w3 org TR css grid 1 虽然这很有效 但我对它的工作原理感到困惑 具体来说 我对这条线感到困惑grid template rows auto auto 1fr