html - 为什么我在 CSS Grid 中得到列而不是行?
问题描述
我有一个 html 页面,其中 1 行用于导航,1 行用于正文。我已经使用css-grid
. 我已经命名了不同的网格区域
.grid-container {
display: grid;
grid-template-rows: [nav-row-start]40px [nav-row-end] [body-row-start] auto [body-row-end];
}
.my-border {
border: 1px solid black;
}
.my-nav-height {
height: 40px;
}
div {
height: 100vh;
}
#nav {
grid-row: nav-row-start/nav-row-end;
}
#body {
grid-row: body-row-start/body-row-end;
}
<div class="grid-container">
<div id="nav" class="my-border my-nav-height">nav bar</div>
<div id="body" class="my-border my-body-height">body</div>
</div>
我看到了(2 列而不是两行)
但是,如果我0px
为排水沟添加尺寸,那么我会看到两行
天沟尺寸是强制性的吗?
解决方案
这是一个简单的语法错误。
您不能连续放置两个作者定义的标识符。它们需要结合起来。
这是错误的:
grid-template-rows: [nav-row-start] 40px [nav-row-end] [body-row-start] auto [body-row-end]
这是正确的:
grid-template-rows: [nav-row-start] 40px [nav-row-end body-row-start] auto [body-row-end]
.grid-container {
display: grid;
grid-template-rows: [nav-row-start] 40px [nav-row-end body-row-start] auto [body-row-end];
}
.my-border {
border: 1px solid black;
}
.my-nav-height {}
div {
height: 100vh;
}
#nav {
grid-row: nav-row-start/nav-row-end;
}
#body {
grid-row: body-row-start/body-row-end;
}
<div class="grid-container">
<div id="nav" class="my-border my-nav-height">nav bar</div>
<div id="body" class="my-border my-body-height">body</div>
</div>
(使用该grid-gap
属性,我无法重现您遇到的装订线问题。)
推荐阅读
- python - 如何有效地合并和获取不匹配条目的计数?
- php - POST Empty 无论请求如何
- velocity - 无法转换为对象 - AppSync 速度模板
- python - 来自 csv 文件的散点图没有得到正确的值
- java - 很难尝试使用 Retrofit
- hyperlink - 如何使 gif 可点击到新页面?
- reactjs - React 函数在第二个 onClick 上更新状态?
- python - 我将如何将外部 python 文件中的函数添加到当前 python 文件中?
- angular - AWS 检索参数存储值,CredentialsError: Missing credentials in config
- c++ - 如何从 Lua 更新 C++ 对象