css - CSS Grid 列宽取决于内容
问题描述
我正在渲染 CSS Grid,每行一列将渲染:
- 没有什么
- 宽度为 120px 的按钮(我们称之为类型 1)
- 宽度为 185px 的按钮(类型 2)
- 两种按钮类型,在这种情况下,它们都应该是 185px 宽度
当我什么都不渲染时,所有行都不会在该列中渲染任何内容,所以我希望该列的宽度为 0,其他列应该分割剩余空间。
呈现按钮类型 1 时,我希望该列的宽度为 120 像素,并且不呈现按钮的行应显示该宽度的空白空间(不破坏布局)
当我呈现两种类型的按钮时(所以有些行包含按钮类型 1,有些包含按钮类型 2,有些不包含任何内容)我希望该列采用更宽按钮的宽度 - 185px。
minmax(0, 185px)
我尝试通过设置来实现这一点grid-template-columns
,但没有运气,因为在这种情况下,它总是将宽度设置为185px
. 对此的任何想法将不胜感激
列放置在具有样式的网格包装器中
.CSSGrid {
grid-template-columns:
48px minmax(100px, 3fr) 140px 140px minmax(200px, 1fr) minmax(100px, 1fr) max-content 50px;
}
包含按钮的列是倒数第二个,值max-content
(我只是在试验)
示例:https ://codepen.io/idjuka/pen/wvarPrN 在此示例中,如果我要删除最后一行(按钮较宽),我希望上部按钮的宽度更小。按钮上是否可以有 100% 的宽度,但是用 css 网格确定列的宽度 - 如果内容宽度是 xyz px -> 列宽应该是 xyz px,
解决方案
推荐阅读
- docusignapi - 调用 UpdateNotificationSettings 的 docusignapi 错误:{ 用户缺乏对资源的权限
- ios - 为什么我的 Apple Push Notifications 停止为开发工作,而不是为生产工作?
- javascript - 注入 CSS 以从屏幕截图 API (url2png.com) 中删除模式/弹出窗口
- c# - DataTable GroupBy 和检查条件
- ios - ViewDidLoad 未按正确顺序执行操作 - Firebase、Swift
- c++ - QAbstractListModel::Data() 方法永远不会被调用
- go - 实例化具有不同函数签名的对象时函数实现的差异
- java - 从另一个列表中删除一个元素
- css - CSS类型选择器覆盖属性选择器?
- java - 如何保存异常以便将其作为对象传递给函数?