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;
}
相关推荐
thinkQuadratic10 小时前
scss预处理器对比css的优点以及基本的使用
前端·css·scss
小鸭呱呱呱11 小时前
【CSS】- 表单控件的 placeholder 如何控制换行显示?
前端·javascript·css·深度学习·面试·职场和发展·html
噶琪13 小时前
理解《CSS世界》盒模型、流、布局
前端·css
the_one13 小时前
《Canvas 炫酷动态粒子连线:从零打造流动星空特效》
前端·javascript·css
剪刀石头布啊14 小时前
ECMAScript、html头、dom、bom、a空链、选择器、css样式继承等、css通用属性值、文档流等
css·html
田本初18 小时前
vue-cli工具build测试与生产包对css处理的不同
前端·css·vue.js
代码小学僧20 小时前
一行代码顶二十行代码! 🔧 修复 React 聊天室滚动加载问题 Bugfix 解决方法分享
前端·css·react.js
跟着汪老师学编程20 小时前
28、web前端开发之CSS3(五)
前端·css·css3
忆柒20 小时前
BFC的应用
前端·css
海底火旺20 小时前
使用WEUI框架与BEM规范构建按钮组件实践指南
前端·css·html