css - 溢出/扩展某些元素的 CSS 网格区域
问题描述
我正在学习 CSS Grid 并且对它非常着迷。特别是,我正在使用这种template-areas
方法来定义结构。这是我编写的代码示例,用于定义带有两个侧边栏、一个主要内容区域和一个文章页脚的基本文章布局:
HTML:
<div class="article-wrapper">
<div class="sidebar-left">
Left Sidebar Content
</div>
<div class="article-content">
Main Article Content
<div class="article-overflow">
Overflow Content
</div>
</div>
<div class="sidebar-right">
Right Sidebar Content
</div>
<div class="article-footer">
Article Footer Content
</div>
</div>
CSS:
.article-wrapper{
display:grid;
grid-template-areas:
"h h h h h h h h h h h h"
"l l c c c c c c c c r r"
"l l f f f f f f f f r r";
}
.article-wrapper > .article-sidebar-left{
grid-area: l;
}
.article-wrapper > .article-sidebar-right{
grid-area: r;
}
.article-wrapper > .article-content{
grid-area: c;
}
.article-wrapper > .article-footer{
grid-area: f;
}
我的问题; 有没有办法,使用网格区域的这种方法,我可以制作article-overflow
完全在 和 区域内c
grid-template-area
的l
元素r
?
本质上,我希望article-overflow
元素的宽度是这样的:
l x x x x x x x x x x x r
而现在是l l x x x x x x x x r r
换句话说,我正在尝试将它扩展到一个网格单元到当前侧边栏使用的每个区域中。
解决方案
...有没有办法,使用这种网格区域的方法,我可以制作
.article-overflow
完全在c
网格模板区域内的元素,以扩展到l
和r
区域?
不。
该.article-overflow
元素甚至不是网格项,因此它无法识别网格属性1。
在网格布局的未来版本中,可能会实现subgrid
功能2,该功能允许网格项的子项尊重主容器的行。但那是猜测。即使那样,也不能保证您想要的网格区域将可用grid-template-areas
. 它可能仅适用于基于行的放置 3。
笔记:
推荐阅读
- java - 为什么 HttpServletResponse 正文总是空的?
- python - 获取 Pandas 数据框中每一行最流行的三元组
- python - Python 语法:如何检查返回值中是否存在“x”?
- javascript - 使用 bcrypt-nodejs 散列密码时出错
- ios - 如何修复“iOS Developer”拥有一个 Apple Distribution 证书但未安装其私钥错误?
- algorithm - 最大面积矩形
- swift - PDFKit:使用表格从 html 渲染 pdf
- imagemagick - 如何在 ImageMagick 中精确扭曲透视图?
- python-3.x - 我在 Python 中遇到了 random.randint(0,1000)/1000 的错误。它说随机未定义
- go - 如何测试 Cadence 记录器调用?