Grid被设计来做一些Flexbox不能做的事情,所以不是被设计来取代Flexbox的。

flexbox 一维的

Grid 二维的

总结: 

Grid Items作用在Grid Container的直接子元素下

下面给出一些示例:

1.html:

<style>
* {
margin: 0;
padding: 0;
}
.wrapper {
display: grid;
grid-template-columns: 70% 30%;
/*
grid-column-gap: 1em;
grid-row-gap:1em;
*/
grid-gap: 1em;
}
.wrapper>div {
background: #eee;
padding: 1em;
}
.wrapper>div:nth-child(odd) {
background: #ddd;
}
</style>
<body>
<!-- 这个最外面包裹的是wrapper 下面有5个div:4个Lorem和1个Hello -->
<div class="wrapper">
<div>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Blanditiis aperiam a molestias dolores nobis alias sint unde eveniet
ex saepe, quas, praesentium dolorem vitae magni dolore doloremque? Aspernatur, voluptatum possimus! Lorem ipsum
dolor sit amet consectetur adipisicing elit. Blanditiis aperiam a molestias dolores nobis alias sint unde eveniet
ex saepe, quas, praesentium dolorem vitae magni dolore doloremque? Aspernatur, voluptatum possimus!
</div>
<div>
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Aspernatur reprehenderit quae, obcaecati eveniet at accusamus rem!
Debitis autem minima eaque accusantium vitae. Ab esse distinctio laborum harum voluptas eligendi minima.
</div>
<div>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Blanditiis aperiam a molestias dolores nobis alias sint unde eveniet
ex saepe, quas, praesentium dolorem vitae magni dolore doloremque? Aspernatur, voluptatum possimus! Lorem ipsum
dolor sit amet consectetur adipisicing elit. Blanditiis aperiam a molestias dolores nobis alias sint unde eveniet
ex saepe, quas, praesentium dolorem vitae magni dolore doloremque? Aspernatur, voluptatum possimus!
</div>
<div>
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Aspernatur reprehenderit quae, obcaecati eveniet at accusamus rem!
Debitis autem minima eaque accusantium vitae. Ab esse distinctio laborum harum voluptas eligendi minima.
</div>
<div>Hello</div>
</div>
</body>
</html>

2.html:

<style>

.wrapper{

display: grid;

/* grid-template-columns:1fr 1fr 1fr;  fr的意思是fraction,就是分数 ,x分之一*/

grid-template-columns: repeat(3,1fr);

/* grid-template-columns: repeat(4,1fr 2fr); */

grid-gap:1em;

grid-auto-rows: 100px; (注意看这个属性)

}

.wrapper>div {

background: #eee;

padding: 1em;

}

.wrapper>div:nth-child(odd) {

background: #ddd;

}

</style>

</head>

<body>

<div class="wrapper">

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam cumque possimus eveniet aliquid. Impedit delectus architecto veritatis? Tempora cupiditate esse odio placeat doloribus nisi quaerat laudantium dolor, illum laborum consequuntur eaque est minus? Ex quae eius expedita dolor ab possimus.

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

</div>

</body>

(grid-auto-rows属性)

.wrapper{

display: grid;

/* grid-template-columns:1fr 1fr 1fr; */

grid-template-columns: repeat(3,1fr);

/* grid-template-columns: repeat(4,1fr 2fr); */

grid-gap:1em;

/* grid-auto-rows: 100px; */

//最小100px 要是多了就拉伸

grid-auto-rows:minmax(100px,auto);

}

(grid-auto-rows:minmax(100px,auto);属性)

2.html完整代码

<style>

*{

margin:0;

padding:0;

}

.wrapper{

display: grid;

/* grid-template-columns:1fr 1fr 1fr; */

grid-template-columns: repeat(3,1fr);

/* grid-template-columns: repeat(4,1fr 2fr); */

grid-gap:1em;

/* grid-auto-rows: 100px; */

grid-auto-rows:minmax(100px,auto);

}

.nested{

display: grid;

grid-template-columns: repeat(3,1fr);

grid-auto-rows:70px;

grid-gap:1em;

}

.wrapper>div {

background: #eee;

padding: 1em;

}

.wrapper>div:nth-child(odd) {

background: #ddd;

}

.nested > div{

border: #333 1px solid;

padding: 1em;

}

</style>

<body>

<div class="wrapper">

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam cumque possimus eveniet aliquid. Impedit delectus architecto veritatis? Tempora cupiditate esse odio placeat doloribus nisi quaerat laudantium dolor, illum laborum consequuntur eaque est minus? Ex quae eius expedita dolor ab possimus.

</div>

<div class="nested">

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

<div>Lorem</div>

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

<div>

Lorem ipsum dolor sit.

</div>

</div>

</body>

3.html:

<style>

*{

margin:0;

padding:0;

}

.wrapper{

display: grid;

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

grid-auto-rows: minmax(100px ,auto);

grid-gap:1em;

justify-items: start;(注意看这里)

}

.wrapper>div {

background: #eee;

padding: 1em;

}

.wrapper>div:nth-child(odd) {

background: #ddd;

}

</style>

</head>

<body>

<div class="wrapper">

<div class="box box1">Box 1</div>

<div class="box box2">Box 4</div>

<div class="box box3">Box 4</div>

<div class="box box4">Box 4</div>

</div>

</body>

(justify-items:center)

(justify-items:end)

(justify-items:stretch)  //default

(align-items:start)

(align-items:center)

(align-items:end)

(align-items:stretch)    //default

LineNumbers

grid-column:1/3;

(without)

(with)

.box1{

grid-column:1/3;

/* this means 'one' to 'three' */

}

.box1{

/* align-self:start; */

grid-column:1/3;

grid-row: 1/3;

/* this means 'one' to 'three' */

}

.box2{

grid-column: 3;

grid-row: 1/3;

/* align-self: end; */

}

.box3{

grid-column: 2/4;

grid-row: 3;

/* justify-self: end; */

}

.box4{

grid-column: 1;

grid-row: 2/4;

}

(overlap重叠)

CSS Grid(CSS网格)的更多相关文章

  1. CSS--使用CSS Grid(网格)布局

    .一 CSS Grid(网格布局)简介 CSS Grid 布局由两个核心组成部分是父元素和子元素,父元素 是实际的 grid(网格),子元素是 grid(网格) 内的内容.下面是一个父元素和六个子元素 ...

  2. CSS Grid基于网格的二维布局系统(详细教程)

    .grid-wrap{ display: inline-flex; padding: 20px; background: #f4f4f4; word-break: initial; } .handle ...

  3. CSS Grid 网格布局全解析

    介绍 CSS Grid(网格) 布局使我们能够比以往任何时候都可以更灵活构建和控制自定义网格. Grid(网格) 布局使我们能够将网页分成具有简单属性的行和列.它还能使我们在不改变任何HTML的情况下 ...

  4. CSS Grid网格布局全攻略

    CSS Grid网格布局全攻略 所有奇技淫巧都只在方寸之间. 几乎从我们踏入前端开发这个领域开始,就不停地接触不同的布局技术.从常见的浮动到表格布局,再到如今大行其道的flex布局,css布局技术一直 ...

  5. CSS Grid 网格布局教程

    一.概述 网格布局(Grid)是最强大的 CSS 布局方案. 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局.以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了. 上 ...

  6. 轻松上手CSS Grid网格布局

    今天刚好要做一个好多div格子错落组成的布局,不是田字格,不是九宫格,12个格子这样子,看起来有点复杂.关键的是笔者有点懒,要写那么多div和css真是不想下手啊.多看了两眼,这布局不跟网格挺像吗?c ...

  7. css - Grid网格布局

    .wrapper{ display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 1 ...

  8. css grid 网格布局

    前几天研究了一下这个布局方式,笔记待更新 先放一下学习站点 文档 我应该尝试使用CSS Grid Layout的IE实现吗 https://hacks.mozilla.org/2018/02/css- ...

  9. CSS Grid layout布局

    CSS Grid布局 (又名"网格"),是一个基于二维网格布局的系统,主要目的是改变我们基于网格设计的用户接口方式.你只需要定义一个容器元素并设置display:grid,使用gr ...

随机推荐

  1. elasticsearch的核心概念

    1.elasticsearch的核心概念 (1)Near Realtime(NRT):近实时,两个意思,从写入数据到数据可以被搜索到有一个小延迟(大概1秒):基于es执行搜索和分析可以达到秒级 (2) ...

  2. centos7部署openvasV9

    应特别注意,openvas更新很快,本文章仅描述了当前版本和特定环境的部署.基础环境描述如下.环境相关版本并不要求完全相同.默认阅读者有一定的Linux基础,不做赘述.本机环境: [root@linu ...

  3. hibernate注解--@transient

    @transient:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性. 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Bas ...

  4. 互联网组织的未来:剖析 GitHub 员工的任性之源

    转自:http://innolauncher.com/github/ 互联网组织的未来:剖析 GitHub 员工的任性之源 This entry was posted in Blogon 一月 4, ...

  5. CSS - display:inline-block 相邻元素间有4px的空白间距

    取消“display:inline-block 相邻元素间有4px的空白间距” Demo:http://jsfiddle.net/JSDavi/p6gcx6nx/ 例子: <div sytle= ...

  6. 利用vue-gird-layout 制作可定制桌面 (二)

    添加资源池 根据项目需求 添加, 实例两个数据 { "mainData": [ { "x": 0, "y": 0, "w" ...

  7. [网络流24题] 方格取数问题/骑士共存问题 (最大流->最大权闭合图)

    洛谷传送门 LOJ传送门 和太空飞行计划问题一样,这依然是一道最大权闭合图问题 “骑士共存问题”是“方格取数问题”的弱化版,本题解不再赘述“骑士共存问题”的做法 分析题目,如果我们能把所有方格的数都给 ...

  8. ansible自动化部署

    ansible通过模块实现批量管理及部署服务器,功能有模块实现 ansible无需在被控端安装agent/client,因为ansible是通过ssh分发ad-hoc(单条指令)或者palybook( ...

  9. 谈谈python里面关于任务队列

    谈谈python里面关于任务队列 为什么要做任务队列 要回答这个问题我们首先看看在流水线上的案列,如果人的速度很慢,机器的速度比人的速度快很多,就会造成,机器生产的东西没有及时处理,越积越多,造成阻塞 ...

  10. redis_4 主从模式

    配置主服务器: 进入 redis 配置文件redis.conf. 修改 bind 127.0.0.1 为 bind 0.0.0.0 关闭防火墙,只有root用户能操作 .开启 命令为:ufw enab ...