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;
}
相关推荐
lljss20203 小时前
html文字红色粗体,闪烁渐变动画效果,中英文切换版本
css·html·css3
木木夕酱18 小时前
前端响应式网站编写套路
css·react.js
用户268348422395918 小时前
前端换肤功能最佳实践:从基础实现到高级优化
前端·css
蓝婷儿21 小时前
第二章支线八 ·CSS终式:Tailwind与原子风暴
前端·css
Java永无止境1 天前
Web前端基础:HTML-CSS
java·前端·css·html·javaweb
超级土豆粉1 天前
CSS 性能优化
前端·css·性能优化
Sun_light1 天前
用原生 HTML/CSS/JS 手把手带你实现一个美观的 To-Do List 待办清单小Demo
前端·css·html
Bottle4141 天前
你真的懂 CSS 吗?一文看懂“层叠”的底层机制!(含 MDN 原文解读)
css
普宁彭于晏1 天前
CSS3相关知识点
前端·css·笔记·学习·css3