美文网首页
grid布局

grid布局

作者: 苍老师的眼泪 | 来源:发表于2022-04-19 03:59 被阅读0次

概念

  • 容器
  • 项目

一旦给某个容器设置了grid布局,则它就是一个容器,它里面的直接子元素就是项目

行、列、网格线、单元格

设置多少列 / 行,每一 列 / 行的宽 / 高度:

grid-template-columns / grid-template-rows
常见取值
px、%、fr、auto、repeat(重复次数,模式)
示例:
grid-template-columns: 200px 200px 200px 200px;
grid-template-columns: 33.33% 33.33% 33.33%;
grid-template-columns: 1fr 2fr;
grid-template-columns: repeat(2, 1fr 2fr 3fr);

两栏布局,左边固定200px, 右边自由伸展 (3种方法):

      grid-template-columns: 200px auto;
      grid-template-columns: 200px 1fr;
      grid-template-columns: 200px calc(100% - 200px);

列 / 行间距

grid-column-gap / grid-row-gap
grid-column-gap: 30px;
grid-row-gap: 30px;

设置 单元格 内容的对齐方式

image.png
  • 设置所有单元格内容的对齐方式
    justify-items / align-items 水平对齐 / 垂直对齐
    常见取值:start、center、end、stretch
    水平居中,垂直对齐的实现:
    justify-items: center;
    align-items: start;
    以上相当于: place-items: start center;
    place-items: start center; 相当于 align-items 和 justify-items 的组合


    image.png
  • 设置某个单元格内容的对齐方式
    align-self
    justify-self

设置 整个内容区域 在容器里面的对齐方式

justify-content: center;
align-content: center;
常见取值:start、center、end、space-between、space-around、space-evenly、stretch


image.png

给单元格设置名称

不需要名字的区域可以设置其名称为 '.',
需要注意的是,必须严格按照行数和列数来定义,
例如3 * 3,但实际上只有8个项目,那也必须设置最后一个单元格的命名

grid-template-areas: 'a a c'
                                 'd e .'
                                 'g h i';

控制单元格的自定义位置

  • 方式一:使用网格线索引下标
    .item:nth-child(5) {
      grid-row-start: 1;
      grid-row-end: 3;
      grid-column-start: 1;
      grid-column-end: 2;
    }
image.png
  • 方式二:使用命名的网格区域
    .item:nth-child(5) {
      grid-row-start: a-start;
      grid-row-end: a-end;
      grid-column-start: c-start;
      grid-column-end: c-end;
    }

以上可以简写为:

    .item:nth-child(5) {
      grid-row: a;
      grid-column-start: a-start;
      grid-column-end: a-end;
    }

进一步简写为:

    .item:nth-child(5) {
      grid-row: a;
      grid-column: a;
    }

最后简写为:

    .item:nth-child(5) {
      grid-area: a;
    }
image.png

水平垂直居中

      grid-template-columns: 1fr;
      grid-template-rows: 1fr;

      justify-items: center;
      align-items: center;

相关文章

  • Grid布局相关属性

    定义display:grid或inline-grid开启子元素的Grid布局。 不同于flex布局,grid布局是...

  • 【融职培训】Web前端学习 第2章 网页重构16 grid布局

    一、grid布局概述 grid布局与flex布局对比 grid布局可以为网页提供更强大的布局功能,它与flex布局...

  • CSS Grid 布局

    参考资料 CSS Grid 布局完全指南(图解 Grid 详细教程) CSS Grid 系列(上)-Grid布局完...

  • 2020-02-03

    六、栅格布局方式Grid 众人云,Grid布局是CSS中最强的布局方式。Grid 布局与 Flex 布局有一定的相...

  • css Grid布局

    Grid布局 css的布局方式主要有三种:float&position布局、flex布局、grid布局。 floa...

  • Grid布局参考资料

    张鑫旭-写给自己看的display: grid布局教程阮一峰-CSS Grid 网格布局教程 在Grid布局中,f...

  • grid 网格布局

    Grid网格布局 Grid布局是一个二维的布局方法,纵横两个方向总是同时存在。 作用在grid容器上作用在grid...

  • [2020-08-10]css3中的常用几种布局

    div的水平垂直居中 flex布局,使用display: flex实现水平垂直居中 grid布局 使用grid布局...

  • Grid网格布局学习

    Grid网格布局学习 引言 本文不对grid布局由来以及优劣做过多的介绍,仅介绍grid网格布局的用法及其效果显示...

  • px em rem vh vm

    后续补充:flex 布局 Grid 布局

网友评论

      本文标题:grid布局

      本文链接:https://www.haomeiwen.com/subject/bzttertx.html