在下面的代码片段中,我有一个position: fixed div,它不是网格布局的一部分,我有一个row-1main网格行.

我希望main扩展到可用空间,我认为grid-template-rows: 6rem 1fr可以,但事实并非如此.

我还希望行之间的间隙更小,但在本例中grid-row-gap不起作用.

html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  text-rendering: optimizeSpeed;
  height: 100%;
}

#root {
  height: 100%;
}

.container {
  border: 10px solid green;
  background: #f1f1f1;
  display: grid;
  align-items: center;
  grid-template-areas:
    "row-1"
    "main";
  grid-template-rows: 6rem 1fr;
  grid-row-gap: 0;
}

.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
  background: yellow;
  height: 3rem;
}

.row-1 {
  border: 10px solid blue;
  grid-area: row-1;
}

.main {
  border: 10px solid orange;
  grid-area: main;
}
<!DOCTYPE html>
<html>
  <head>
    <title>Hello</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <main id="root">
      <div class="fixed">Fixed</div>
      <div class="container">
        <div class="row-1">Row 1</div>
        <div class="main">main</div>
      </div>
    </main>
  </body>
</html>

推荐答案

您可以按如下所述操作,如果希望固定元素不包含.row-1,可以将例如padding-top:3rem添加到.container或添加到.row-1本身.

body {
  text-rendering: optimizeSpeed;
  margin:0;
}

.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
  background: yellow;
  height: 3rem;
}

.container {
  min-height: 100vh;
  border: 10px solid green;
  display: grid;
  grid-template-rows: 6rem 1fr;
}

.row-1 {
  border: 10px solid blue;
}

.main {
  border: 10px solid orange;
}
<main id="root">
  <div class="fixed">Fixed</div>
  <div class="container">
    <div class="row-1">Row 1</div>
    <div class="main">main</div>
  </div>
</main>

Html相关问答推荐

如何让一个动态列表以网格方式水平显示

有没有可能设置div的边框宽度相对于其父宽度和高度?'

为什么在移动视图中,这个水平可滚动的表格会在表格的右侧显示额外的空间?

Tailwind CSS:overflow-y Property Not Scrolling Unreliably to Bottom with top-[63px]

现代网络浏览器可以并行下载哪些类型的网络资源?还有,什么东西不能并行下载?

如何创建剪切到路径的循环文本字幕?

尽管div高度为100%,div中的内容仍会溢出

目标第一个祖先标签的 XPath

Swift WKUserContentController 和 WKScriptMessageHandler 设置不正确

无法在 CSS 中将 h1 标签居中

R 中的网页抓取数字?

使用 Thymeleaf 将图像水平居中

在 flexbox 中使用 spacer 是否有效

Django 如何从文件系统下载文件?

如何使用CSS Select 表亲元素

如何使文本区域自动扩展到最大高度?

pull-right 不适用于 bootstrap alert 内的按钮

SVG 调整大小而不是溢出

使用 sprite 的问题,字符 sprite 中的额外边距

尽管设置了 width:100% left:0,但居中对齐的 CSS 动画并不对称