grid-column-start

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

grid-column-start CSS 属性通过为网格项的网格放置贡献一条线、跨度或无(自动)来指定网格项在网格列中的起始位置。此起始位置定义了 网格区域 的块起始边缘。

试试看

语法

css
/* Keyword value */
grid-column-start: auto;

/* <custom-ident> value */
grid-column-start: somegridarea;

/* <integer> + <custom-ident> values */
grid-column-start: 2;
grid-column-start: somegridarea 4;

/* span + <integer> + <custom-ident> values */
grid-column-start: span 3;
grid-column-start: span somegridarea;
grid-column-start: span somegridarea 5;

/* Global values */
grid-column-start: inherit;
grid-column-start: initial;
grid-column-start: revert;
grid-column-start: revert-layer;
grid-column-start: unset;

此属性被指定为单个 <grid-line> 值。<grid-line> 值可以指定为

  • auto 关键字
  • <custom-ident>
  • <integer>
  • <custom-ident><integer>,以空格分隔
  • span 关键字以及 <custom-ident><integer> 或两者。

Values

auto

一个关键字,表示该属性不会为网格项的放置贡献任何内容,表示自动放置、自动跨度或默认跨度 1

<custom-ident>

如果存在名为 <custom-ident>-start 的命名线,则它将为网格项的放置贡献第一条这样的线。

注意: 命名网格区域会自动生成这种形式的隐式命名线,因此指定 grid-column-start: foo; 将选择该命名网格区域的起始边缘(除非在之前显式指定了名为 foo-start 的其他线)。

否则,这将被视为指定了整数 1 以及 <custom-ident>

<integer> && <custom-ident>?

为网格项的放置贡献第 n 条网格线。如果给出了负整数,它会反向计数,从显式网格的结束边缘开始。

如果将名称作为 <custom-ident> 给出,则只计算具有该名称的线。如果具有该名称的线不足,则假设所有隐式网格线都具有该名称,以便于找到此位置。

<integer> 值为 0 是无效的。

span && [ <integer> || <custom-ident> ]

为网格项的放置贡献网格跨度,使网格项网格区域的列起始边缘距离结束边缘 n 行。

如果名称被指定为<custom-ident>,则仅计算具有该名称的行。如果存在具有该名称的行不足,则出于计算此跨度的目的,将假设显式网格对应搜索方向一侧的所有隐式网格线具有该名称。

如果省略<integer>,则默认为1。负整数和0无效。

<custom-ident>不能取span值。

正式定义

初始值auto
适用范围网格项目和包含块为网格容器的绝对定位框
继承
计算值按指定
动画类型离散

正式语法

grid-column-start = 
<grid-line>

<grid-line> =
auto |
<custom-ident> |
[ [ <integer [-∞,-1]> | <integer [1,∞]> ] && <custom-ident>? ] |
[ span && [ <integer [1,∞]> || <custom-ident> ] ]

示例

为网格项目设置列开始

HTML

html
<div class="wrapper">
  <div class="box1">One</div>
  <div class="box2">Two</div>
  <div class="box3">Three</div>
  <div class="box4">Four</div>
  <div class="box5">Five</div>
</div>

CSS

css
.wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 100px;
}

.box1 {
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 3;
}

.box2 {
  grid-column-start: 1;
  grid-row-start: 3;
  grid-row-end: 5;
}

结果

规范

规范
CSS 网格布局模块级别 2
# line-placement

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅