通过grid-column和grid-row可精确控制网格项位置,支持线号、span跨越及负数定位,实现灵活二维布局。
在使用 CSS Grid 布局时,精确控制子元素的位置是关键。通过 grid-column 和 grid-row 属性,可以灵活地将网格项放置在指定的行和列上,而不依赖于它们在 HTML 中的顺序。这种方式让布局更加直观且易于维护。
grid-column 和 grid-row 是简写属性,用于定义网格项在网格中的起始和结束位置。
基本语法:
也可以只设置起始线,浏览器会自动占据一个轨道。
网格容器中的每条垂直线和水平线都有编号,从 1 开始。你可以根据这些线号来放置元素。
示例:
.container {上面代码中,item1 占据第1到第3列(跨两列),位于第一行;item2 从第3列开始,跨一行但跨两行高度。
不想计算结束线?可以用 span 指定跨越几个轨道。
这种写法更直观,尤其适合动态或响应式布局。
实际开发中,结合命名线或区域可提升可读性,但仅用 grid-column 和 grid-row 已足够应对大多数精确定位需求。
基本上就这些。掌握 grid-column 和 grid-row 的用法后,你就能自由地“画”出任何二维布局结构,而不受 DOM 顺序限制。不复杂但容易忽略的是线号的起始逻辑和 span 的灵活使用。多练习几次,很快就能得心应手。