css - css:带有网格模板的纵横比
问题描述
我在css中使用网格框。网格中的每个项目必须是容器宽度的 1/3。我希望每个项目的纵横比为 2/1,这意味着宽度应始终是高度的两倍。如果容器的大小调整大小,我希望项目在保持纵横比的同时也调整大小。我该怎么做呢?
CSS:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 5px;
}
.grid-item {
background-color: orange;
border: solid;
}
html:
<div class="grid-container">
<div class="grid-item"></div>
<div class="grid-item"></div>
<div class="grid-item"></div>
</div>
解决方案
您需要您的网格项目跨越它们在网格中的位置。只要浏览器对纵横比的支持不完整,您就可以使用填充技巧:
.grid-item {
position: relative;
display: flow-root;
&:before {
content: '';
float: left;
padding-top: 50%;
}
}
推荐阅读
- sonos - 节目电台播放失败
- java - 从客户端类调用时启动画面不起作用
- function - 使用 Core Data 的嵌套函数
- mysql - 从 BigQuery 转换为 MySQL,可变数组大小
- python - 从每个象限获取最近点的快速方法
- python - python sagemath - 随机选择修改作为输入传递的列表
- php - 如何使用laravell api在android应用程序中将登录从电子邮件更改为手机号码?
- uefi - 从 efi 应用程序返回值到 efi shell
- iphone - 如何在从相机/图库中选择图像后将图像从一个屏幕传递到另一个屏幕并自动显示在第二个屏幕中作为导航到第二个屏幕
- .net - 获取来自 AWS IOT CORE 到 AWS Lambda .Net Core 的 MQTT 主题名称