CSS网格布局方格单元格
P粉593536104
P粉593536104 2023-08-15 20:13:32
[CSS3讨论组]

我想要创建一个类似仪表盘的视图,其中使用CSS Grid-Layout作为基础。我希望在整个屏幕的长度上分布16列(应该是响应式的)。然后,单元格的高度应该由单元格的宽度决定,以使单元格成为正方形。问题是,我希望某些单元格跨越多个单元格。例如,我想要一个占用2x1个单元格的元素。

所以我有基本的网格布局:

.grid-container {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    grid-auto-rows: var(--tile-unit);
    gap: var(--tile-gap);
    align-content: start;
}

.grid-item {
    background: light-gray;
    border-radius: 10px;
}

还有一些类用于跨越多个列或行的元素:

.width-unit-2 {
    grid-column-end: span 2;
}

.height-unit-2 {
    grid-row-end: span 2;
}

现在,我尝试使用元素的宽高比。这对于2x1的元素来说效果很好,但是如果我想要一个2x2的元素,我不能仅仅在相应的类中定义宽高比,我需要为这种情况定义一个单独的类。

有没有一种方法可以使网格单元格成为正方形而不使用aspect-ratio

P粉593536104
P粉593536104

全部回复(1)
P粉276064178

这个正方形的aspect-ratio实际上是1x1,然后CSS根据heightwidth设置它的大小

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号