html - 如何在网格模板行中保持图像的纵横比?
问题描述
我有一个 CSS 网格,如下所示:
grid-template-columns: auto 1fr;
grid-template-rows: 2% 8% 1fr auto auto 2%;
grid-template-areas:
"sg-header sg-header"
"logo title"
"nav-bar content"
"nav-bar description"
"nav-bar extra-info"
"sg-bottom sg-bottom";
当我填满网格区域时,一切都与文本完美结合。但是我想在第二行的第一个单元格中放置一个图像(“徽标”区域)。我想保持其纵横比,并将其高度调整为行高。为此,我使用以下内容:
width: auto;
height: 100%;
高度完美地调整到行高并且它也保持纵横比,但是自动的列不会调整到图像宽度。如果我用文本替换图像,列宽将调整为文本宽度,但对于图像,这不起作用。
更有趣的是,我刚刚注意到这只发生在 Chrome (67.0.3396.87) 中。在 Firefox 中情况更糟,因为在 Firefox (52.9.0) 中,由于某种原因,第一列与重新缩放之前的图像一样宽,即使图像缩小到行高并保持纵横比,因此它的显示宽度较低.
解决方案
推荐阅读
- python - 理解python中的嵌套函数
- flutter - 徽章结束并隐藏文字
- c# - 在c#中检查用户ID是否存在于Discord服务器中
- reactjs - 平面列表导航反应原生
- php - 在 laravel 7x 上找不到特征“Illuminate\Foundation\Auth\AuthenticatesUsers”
- flutter - Listview 和 Checkbox 使用 StatefulWidget(setState)
- javascript - 导出函数和module.exports有什么区别?
- asp.net - 在 ASP.NET 4.6 WebForms 上实现 AntiForgery 令牌
- powershell - 使用 CMD 执行 Powershell 命令
- r - 是否有一个函数可以“评估”字符串中的一系列数字?