1、应用 display: grid 的元素。这是所有网格项(Grid Items)的直接父级元素。即容器


2、网格容器(Grid Container)的子元素(直接子元素)。


3、注意:在 网格容器(Grid Container) 上使用column,float,clear, vertical-align 不会产生任何效果。


4、grid-template-columns / grid-template-rows

– <track-size>: 可以是长度值,百分比,或者等份网格容器中可用空间(使用 fr 单位)
– <line-name>:你可以选择的任意名称
grid-template-columns: repeat(3, 10px) 5%
eg:
.container {
grid-template-columns: <track-size> ... | <line-name> <track-size> ...;
grid-template-rows: <track-size> ... | <line-name> <track-size> ...;
}

5、grid-template-areas

通过引用 grid-area 属性指定的 网格区域(Grid Area) 名称来定义网格模板。重复网格区域的名称导致内容跨越这些单元格。
一个点号(.)代表一个空的网格单元。这个语法本身可视作网格的可视化结构。
值:
grid-area-name:由网格项的 grid-area 指定的网格区域名称
.(点号) :代表一个空的网格单元
none:不定义网格区域

6、grid-template

用于定义 grid-template-rows ,grid-template-columns ,grid-template-areas 缩写 (shorthand) 属性。
值:
none:将所有三个属性设置为其初始值
subgrid:将grid-template-rows,grid-template-columns 的值设为 subgrid,grid-template-areas设为初始值
grid-template-rows / grid-template-columns:将 grid-template-columns 和 grid-template-rows 设置为相应地特定的值,并且设置grid-template-areas为none

7、justify-items 沿着 行轴线(row axis) 对齐 网格项(grid items) 内的内容,该值适用于容器内的所有网格项。

start:将内容对齐到网格区域(grid area)的左侧
end:将内容对齐到网格区域的右侧
center:将内容对齐到网格区域的中间(水平居中)
stretch:填满网格区域宽度(默认值)
网格项的内容相当于网格的宽度(水平)

8、align-items 沿着 列轴线(column axis) 对齐 网格项(grid items) 内的内容。

start:将内容对齐到网格区域(grid area)的顶部
end:将内容对齐到网格区域的底部
center:将内容对齐到网格区域的中间(垂直居中)
stretch:填满网格区域高度(默认值)

9、网格合计大小可能小于其 网格容器(grid container) 大小时,使用justify-content设置网格容器内的网格的对齐方式, 此属性沿着 行轴线(row axis) 对齐网格

start:将网格对齐到 网格容器(grid container) 的左边
end:将网格对齐到 网格容器 的右边
center:将网格对齐到 网格容器 的中间(水平居中)
stretch:调整 网格项(grid items) 的宽度,允许该网格填充满整个 网格容器 的宽度
space-around:在每个网格项之间放置一个均匀的空间,左右两端放置一半的空间
space-between:在每个网格项之间放置一个均匀的空间,左右两端没有空间
space-evenly:在每个栅格项目之间放置一个均匀的空间,左右两端放置一个均匀的空间

10、网格合计大小可能小于其 网格容器(grid container) 大小时,使用align-content设置网格容器内的网格的对齐方式, 此属性沿着 列轴线(column axis) 对齐网格

start:将网格对齐到 网格容器(grid container) 的顶部
end:将网格对齐到 网格容器 的底部
center:将网格对齐到 网格容器 的中间(垂直居中)
stretch:调整 网格项(grid items) 的高度,允许该网格填充满整个 网格容器 的高度
space-around:在每个网格项之间放置一个均匀的空间,上下两端放置一半的空间
space-between:在每个网格项之间放置一个均匀的空间,上下两端没有空间
space-evenly:在每个栅格项目之间放置一个均匀的空间,上下两端放置一个均匀的空间

11、grid-auto-columns / grid-auto-rows

指定任何自动生成的网格轨道(grid tracks)(又名隐式网格轨道)的大小。
在你明确定位的行或列(通过 grid-template-rows / grid-template-columns),超出定义的网格范围时,隐式网格轨道被创建了。
eg:
.item-a {
grid-column: 1 / 2;
grid-row: 2 / 3;
}
.item-b {
grid-column: 5 / 6;
grid-row: 2 / 3;
}

12、grid-auto-flow

如果你有一些没有明确放置在网格上的网格项(grid items),自动放置算法 会自动放置这些网格项。该属性控制自动布局算法如何工作。
值:
row:告诉自动布局算法依次填充每行,根据需要添加新行
column:告诉自动布局算法依次填入每列,根据需要添加新列
dense:告诉自动布局算法在稍后出现较小的网格项时,尝试填充网格中较早的空缺
eg:
<section class="container">
<div class="item-a">item-a</div>
<div class="item-b">item-b</div>
<div class="item-c">item-c</div>
<div class="item-d">item-d</div>
<div class="item-e">item-e</div>
</section>
.container {
display: grid;
grid-template-columns: 60px 60px 60px 60px 60px;
grid-template-rows: 30px 30px;
grid-auto-flow: row;
}
.item-a {
grid-column: 1;
grid-row: 1 / 3;
}
.item-e {
grid-column: 5;
grid-row: 1 / 3;
}
设置为row时中间未设置起始线的bcd会按行自动排列
设置为column时中间为设置起始线的bcd会按照列自动排列(先排满第一列再排下一列)

13、grid综合写法

.container {
grid: none | <grid-template-rows> / <grid-template-columns> | <grid-auto-flow> [<grid-auto-rows> [/ <grid-auto-columns>]];
}
 

子元素属性

14、通过指定 网格线(grid lines) 来确定网格内 网格项(grid item) 的位置。
grid-column-start / grid-row-start 是网格项目开始的网格线,grid-column-end / grid-row-end 是网格项结束的网格线。
line :可以是一个数字引用一个编号的网格线,或者一个名字来引用一个命名的网格线
span number :该网格项将跨越所提供的网格轨道数量
span name :该网格项将跨越到它与提供的名称位置
auto :表示自动放置,自动跨度,默认会扩展一个网格轨道的宽度或者高度
eg:
.item-a {
grid-column-start: 2;
grid-column-end: five;
grid-row-start: row1-start
grid-row-end: 3
}
如果没有声明指定 grid-column-end / grid-row-end,默认情况下,该网格项将占据1个轨道(即一行或者一列)

15、grid-column / grid-row

分别为 grid-column-start + grid-column-end 和 grid-row-start + grid-row-end 的缩写形式。

16、grid-area

为网格项提供一个名称,以便可以 被使用网格容器 grid-template-areas 属性创建的模板进行引用。
另外,这个属性可以用作grid-row-start + grid-column-start + grid-row-end + grid-column-end 的缩写。
eg:.item-d {
grid-area: header
}
eg:.item-d {
grid-area: 1 / col4-start / last-line / 6
}

17、justify-self 沿着 行轴线(row axis) 对齐 网格项 内的内容,此值适用于单个网格项内的内容。

start:将内容对齐到网格区域的左侧
end:将内容对齐到网格区域的右侧
center:将内容对齐到网格区域的中间(水平居中)

stretch:填充整个网格区域的宽度(这是默认值)


18、align-self 沿着 列轴线(column axis) 对齐 网格项 内的内容,此值适用于单个网格项内的内容。

start:将内容对齐到网格区域的顶部
end:将内容对齐到网格区域的底部
center:将内容对齐到网格区域的中间(垂直居中)
stretch:填充整个网格区域的高度(这是默认值)

grid布局笔记的更多相关文章

  1. grid布局笔记学习一之父元素(容器)

    HTML代码: <div id="box"> <div class="lbox box1" style="background: # ...

  2. CSS Grid 布局学习笔记

    CSS Grid 布局学习笔记 好久没有写博客了, MDN 上关于 Grid 布局的知识比较零散, 正好根据我这几个月的实践对 CSS Grid 布局做一个总结, 以备查阅. 1. 基础用法 Grid ...

  3. CSS学习笔记:grid布局

    目录 一.Grid布局简介 二.Grid布局的一些概念 三. 容器元素属性 1. grid-template-* 1.1 网格行和列的设置 1.2 repeat的使用 1.3 使用fr 1.4 aut ...

  4. WPF中Grid布局

    WPF中Grid布局XMAl与后台更改,最普通的登录界面为例. <Grid Width="200" Height="100" > <!--定义 ...

  5. Selenium Grid 学习笔记

    Selenium Grid 学习笔记http://www.docin.com/p-765680298.html

  6. [转]使用CSS3 Grid布局实现内容优先

    使用CSS3 Grid布局实现内容优先  http://www.w3cplus.com/css3/css3-grid-layout-module.html 本文由大漠根据Rachel Andrew的& ...

  7. wpf后置代码中的Grid布局以及图片路径的设置

    之前用Grid练习连连看布局时,遇到了几个困惑.此次就把当时的一些收获写出来,供以后翻看. 图片路径可能比较常用,所以就写在第一个了. 在xaml中,设置图片非常简单,只要把图片拷贝到资源目录(这里假 ...

  8. css grid布局的首次使用

    首先来看一下效果图 接下来废话不多说,先上代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  9. 学习ExtJS的grid布局

    这是之前学习ExtJS布局的时候我导师让我重点熟悉的内容.之后会发一个最近写的结合MVC项目的grid布局的案例. 上一篇关于ExtJS的学习资料什么的都已经更在上一篇了,这里只是对一些代码的记录. ...

随机推荐

  1. ARM汇编语言(1)(基本概念)

    1.***.s文件为汇编语言文件格式: 2.ARM寄存器(以Samsung芯片为例) 2.1.要介绍arm寄存器之前我们要先了解一下arm处理器的工作模式: Arm处理器有七种工作模式,为的是形成不同 ...

  2. 你不知道的Console命令

    一.显示信息的命令 1: <!DOCTYPE html> 2: <html> 3: <head> 4: <title>常用console命令</t ...

  3. jvm相关參数,调优

    常见的jvm參数例如以下 -Xmx1024m:设置JVM最大可用内存为1024M. -Xms1024m:设置JVM初始内存为1024m. 此值能够设置与-Xmx同样,以避免每次垃圾回收完毕后JVM又一 ...

  4. LoadLibrary失敗,GetLastError 返回127錯誤

    該原因一般是由於DLL或其依賴的DLL使用了高版本的API,而在低系統中運行時,找不到該函數所引發的錯誤. 比如:該函數:InterlockedExchange64, 看MSDN: Client Re ...

  5. 【BZOJ4557】[JLoi2016]侦察守卫 树形DP

    [BZOJ4557][JLoi2016]侦察守卫 Description 小R和B神正在玩一款游戏.这款游戏的地图由N个点和N-1条无向边组成,每条无向边连接两个点,且地图是连通的.换句话说,游戏的地 ...

  6. MySQL安装和Navicat安装、破解

    1)mysql下载 地址:https://dev.mysql.com/downloads/mysql/ 2)一路next安装,安装好后文件目录如下(不包括data文件夹,my.ini文件) 3)新建文 ...

  7. Pycharm创建Django admin用户名和密码

    1.Tools>Run manage.py Task 2.依次输入: makemigrations migrate createsuperuser 如: manage.py@production ...

  8. 用jq实现鼠标移入按钮背景渐变其他的背景效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. django模板复用 extends,block,include

    template复用 extends block include render 参考:https://code.ziqiangxuetang.com/django/django-template.ht ...

  10. 一.数据库连接对象connection

    1.python 3.5,需要把MySQLdb换成pymysql