CSS Grid 中 [line-name] 的使用

CSS Grid 中 [line-name] 的使用方法

在 CSS Grid 布局中,[line-name] 是为网格线命名的语法,可以让你更方便地引用特定的网格线。

基本用法

css 复制代码
.container {
  display: grid;
  grid-template-rows: [first-line] 100px [second-line] 200px [third-line];
}

如何使用命名网格线

  1. 定位网格项

    css 复制代码
    .item {
      grid-row-start: first-line;
      grid-row-end: second-line;
      /* 或者简写为 */
      grid-row: first-line / second-line;
    }

指定多个名称:

css 复制代码
grid-template-rows: [header-start first-line] 100px [header-end second-line] 200px;

递增命名

css 复制代码
grid-template-rows: repeat(3, [row-line] 100px);
/* 这会创建 row-line 1, row-line 2, row-line 3 */

/* 使用方法 */
grid-row-start: row-line 1;
grid-row-end: row-line 3;

grid-template-areas 中使用命名网格线

1. 隐式网格线命名

css 复制代码
.container {
  display: grid;
  grid-template-areas:
    "header header"
    "sidebar content"
    "footer footer";
  grid-template-rows: 80px 1fr 60px;
  grid-template-columns: 200px 1fr;
}

这样会自动创建以下网格线:

  • 行网格线:header-start, header-end, sidebar-start/content-start, sidebar-end/content-end, footer-start, footer-end
  • 列网格线:header-start/sidebar-start/footer-start,sidebar-end, header-end/content-end/footer-end

2. 在项目定位中使用这些隐式网格线

css 复制代码
.header {
  /* 使用区域名称 */
  grid-area: header;
  
  /* 或者使用隐式网格线 */
  grid-row: header-start / header-end;
  grid-column: header-start / header-end;
}

3. 结合显式命名网格线

css 复制代码
.container {
  display: grid;
  grid-template-areas:
    "header header"
    "sidebar content"
    "footer footer";
  grid-template-rows: [top] 80px [content-start] 1fr [bottom] 60px;
  grid-template-columns: [left] 200px [right] 1fr;
}

现在你可以混合使用:

css 复制代码
.sidebar {
  grid-area: sidebar;
  /* 或者 */
  grid-row: content-start / bottom;
  grid-column: left;
}
相关推荐
慕斯fuafua7 小时前
CSS——盒模型
前端·css
尽欢i8 小时前
前端响应式布局新宠:vw 和 clamp (),你了解吗?
前端·css
小李子呢021110 小时前
前端八股CSS(1)---响应式布局的方法
前端·css
周周记笔记11 小时前
初识HTML和CSS(一)
前端·css·html
aq553560011 小时前
网页开发四剑客:HTML/CSS/JS/PHP全解析
javascript·css·html
下北沢美食家13 小时前
CSS面试题2
前端·css
小霍同学13 小时前
Flex + Grid 混合布局指南
css
摇滚侠16 小时前
HTML CSS 演示小米 logo 的变化 border-radius 属性设置圆角
前端·css·html
❆VE❆16 小时前
虚拟列表原理与实战运用场景详解
前端·javascript·css·vue.js·html·虚拟列表
爱上好庆祝1 天前
svg图片
前端·css·学习·html·css3