css - CSS grid-column中auto / span N和span N / span N之间的区别
问题描述
我正在详细检查属性的工作方式grid-column
,grid-row
当我查看如何在不指定起点或终点的情况下设置跨度时,我偶然发现了 2 个解决方案:
- 一个使用双“跨度”
- 一个使用 auto 和 span
现在我很好奇浏览器是如何解释这两个选项的,但是我找不到具体的解释。这两个表达式的行为有何不同(如果有的话)?以以下两个选项为例(我为一列设置跨度 2)
.option-1 {
grid-column: auto / span 2
}
.option-2 {
grid-column: span 2 / span 2
}
解决方案
首先,grid-column: span 2 / span 2
等于grid-column: span 2 / auto
因为:
如果 start line 等于 end line,则删除 end line。参考
它的行为与grid-column: auto / span 2
.container {
display:grid;
grid-template-columns:repeat(4,1fr);
margin:5px;
}
.container > div {
height:50px;
background:red;
}
<div class="container">
<div style="grid-column:span 2/auto"></div>
</div>
<div class="container">
<div style="grid-column:auto/span 2"></div>
</div>
使用简单的话就像你在说:自动放置元素并取两列。
你可以在这里找到完整的算法:https ://drafts.csswg.org/css-grid/#placement
推荐阅读
- node.js - 如何拥有安全的 MongoDB - Mongoose 设置?
- c# - 如何通过考虑时间来计算两个给定日期之间的周末(以分钟为单位)
- c# - 在 .NET Core Worker 服务中执行健康检查
- javascript - 从 Json 中查找数组 obj 的名称
- android - 如何通过改造使用 addFormDataPart 发送对象数组列表?
- c++ - CMake - FLANN 库不构建(用于 PCL 库)
- laravel - 如何在 mocha-webpack 中为 laravel vue 单文件组件解析别名
- html - 似乎无法摆脱我的 CSS 菜单中额外的 1px 白色边框
- c++ - 如何防止用户指定函数模板参数,强制推导它?
- typescript - 抽象类中的自定义计算方法名称