css - 未占用 100% 空间的子组件(角度材料选项卡)
问题描述
我需要角度标签的子组件来占用给定空间的 100%(侧面有 20% 的空白部分。我能够让它工作,请参阅这个 stackblitz:
https://stackblitz.com/edit/angular-material2-custom-tabs-3gdeu4
层次结构如下:
AppComponent
----> TabComponent (inside AppComponent)
----> ComponentA (inside TabComponent)
为了使它起作用,我使body
ofindex.html
的高度为100vh
(参见styles.css
)
我不明白为什么tab.component.css
and component-a.component.css
then 还需要设置 100% 的高度?(如果将其从其中一个中删除,它将停止占用整个空间)
host:
使用with的全部意义不display: grid
在于子组件会自动获取 100% 的内容吗?难道我做错了什么?
解决方案
CSS 网格布局通过调整元素的所有直接子元素的大小来工作display: grid
。子子级不会调整大小。因此,您<app-tab>
只会调整其单个直接子项的大小<mat-tab-group>
,而您<app-component-a>
只会调整其单个直接子项的大小<span class="test">
。这些是您应用网格布局的唯一地方。正如您所发现的,这不会达到您想要的效果,因此您不得不求助于其他方法。
推荐阅读
- paypal - 我怎样才能捕获更多的自动量
- unity3d - 在 Unity 中提取 DJI 无人机参数到 XYZ 位置
- node.js - 通过 insertTime ( new Date().getTime() ) 在 mongoDB (mongoose) 上查找最后 5 个插入的文档
- applescript - 具有管理员权限的 Touch ID
- android - 在 Windows 机器上使用 Android 配置运行颤振的问题
- python - pd.eval - 将分数转换为浮动和跳过错误(丢弃错误)
- android - 如何在存储库中检索改造结果?
- c - 在C中获取文件的路径
- entity-framework - EF Core:当我有 2 个与同一个公共表相关的不同表时,如何组织模型/表并使用 DBQuery
- javascript - 如何在不条件渲染的情况下省略字符串?