Blogger Information
Blog 24
fans 0
comment 12
visits 15587
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
grid 布局基础知识常用属性学习与感想
移动用户-5435854
Original
781 people have browsed it

grid 布局基础知识常用属性学习与感想

创建容器

  1. display: grid;

行优先

  1. grid-auto-flow: row;

列优先

  1. grid-auto-flow: column;

显式行与列

  1. grid-template-rows:100px 100px 100px;
  2. grid-template-columns:100px 100px

对于放置不下的项目,会隐式生成单元格,修改隐式行大小

  1. grid-auto-rows: 150px;
  2. grid-auto-column: 150px;

这种叫固定值:

  1. grid-template-rows: 100px 100px 100px;
  2. grid-template-columns: 100px 100px 100px;

按百分比划分

  1. grid-template-rows: 100px auto 100px;
  2. grid-template-columns: 20% 30% auto;

按比例划分 grid 特有的一个单位:fr (按比例划分)

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

重复设置行和列

  1. grid-template-columns: repeat(3,100)
  2. grid-template-rows: repeat(3,100px);

分组设置

  1. grid-template-columns: repeat(2,50px 100px);

弹性设置

  1. grid-template-columns: repeat(2 minmax(50px 100px));
  2. grid-template-rows: repeat(3 minmax(150px 1fr));

自动填充

  1. grid-template-columns: repeat(auto-fill,100px);

用网格线划分单元格

  • 第一种写法
  1. grid-row-start: 1;
  2. grid-row-end: 3;
  3. grid-column-start: 1;
  4. grid-column-end: 3;

填满

  1. grid-row-start: 1;
  2. grid-row-end: -1;
  3. grid-column-start: 1;
  4. grid-column-end: -1;
  • 第二种写法 简写
  1. grid-row: 1/3;
  2. grid-column: 3/5;
  • 第三种写法 用偏移量来简写
  1. grid-row-start: 3;
  2. grid-row-end: span 2;
  3. grid-column-start: 1;
  4. grid-column-end: span 2;

或 起始位置就是元素位置

  1. grid-row-end: span 2;
  2. grid-column-end: span 2;
  • 第四种写法 用语义化的标签
  1. grid-row-start: r2-start;
  2. grid-row-start: r1-end;
  3. grid-column-start: c3-start;
  • 第五种简写:小重点:行开始/列开始/行结束/列结束
  1. grid-area: 1/1/2/5;

偏移量简化

  1. grid-area: 1/1 / span 1 / span 4;

或者更简化

  1. grid-area: span 1 / span 4;

甚至更简化 grid-area: span 2;

命名网络区域 相同命名区域会合并

  • grid-template-area

  • 网格区占位符知识 "..."

网格区域线的默认名称

grid-area: header-start / header-start / header-end / header-end; }

设置单元格在容器中的对齐方式,和 flew 相仿,但是代码中去掉 flew 字样

  1. justify-content: center;
  2. align-content: center;
  3. justify-contentspace-between
  4. justify-content:space-around
  5. justify-content:space-evenly
  6. align-contentspace-between
  7. align-content:space-around
  8. align-content:space-evenly

或者简写

place-content

项目在单元格中对齐方式

  1. justify-item: stretch;
  2. align-item: stretch;
  3. align-items: center;
  4. place-items: center center;

某个项目在单元格中的对齐方式:

  1. justify-self: start;
  2. align-self: end;
  3. place-self: center;

每个项目设置一个间隙

  1. column-gap: 5px;
  2. row-gap: 5px;
  3. gap: 5px;

感想:

grid属性和flex属性很像,因此,并不难记,难点是容易和flex混淆。

据说计算机二进制来源于中国的太极八卦,二级制都来自于中国太极八卦,真是一生二,二生三,三生万物,学习越深入,越觉得和我国的太极八卦,五行等有相通之处,代码变化多端,单元格针对容器位置可以变化,项目针对单元格位置,都可以变化,而且项目可以无限大(占很多个单元格),项目又可以无限小(在单元格中还能有各种对齐方式),真的觉得很我国的太极理论太像了。有意思,好玩!

难道宇宙就是二进制代码编写的?我们的世界就是虚拟世界的写出来的东西吗,这难道是人生的真谛?

继续努力,相信孰能生巧。加油。

作业

作业是我上机自己练习的几个东西,上传到了自己的服务器上,基本和课堂内容是一致的。

练习1

练习2

练习3

练习4

练习5

练习6

练习7

练习8

练习9

练习10

练习11

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:不错, 效果也出来了, 这些都是一些小演示, 离实战还是有差距的
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
移动用户-5435854 2020-04-14 19:27:37
是的,回头看我单位前端小同事写的代码我还是晕。看懂和能熟练用在项目上看来是两码事。继续努力吧。
1 floor
Author's latest blog post