一,兼容性

需要兼容IE10以下、ios 10.3 的Safari以下的话,该布局方式不适用。

 

 数据来自:Can I use: https://www.caniuse.com/#search=grid

二、基本使用

<div class="grid-layout"><div class="item1">1</div><div class="item2">2</div><div class="item3">3</div>
</div>

.grid-layout{display: grid;grid-template-columns: 1fr 2fr 1fr;text-align: center;}.item1{ background: #f857b5;}.item2{ background: #fdffdc;}.item3{ background: #c5ecbe;}

效果图

// 使用grid布局
display: grid;     // 指定网格列数为 3列( 有3个参数 )
// fr 代表自适应宽的单位。
grid-template-columns: 1fr 2fr 1fr; 

grid-template-columns代表列数的分配,行数分配是否可行呢?
.grid-layout{...  grid-template-rows: 100px 20px;
}

                       效果图

我们发现高度为120px,正好等于 grid-template-rows的值之和。且元素自动占第一行。

三、合并网格

接下来我们试试将横、纵向的网格进行合并。

.item1{grid-row:1/span 2;  background: #f857b5;
}
.item3{ grid-row:1/span 2;
      grid-column:3/4;
    background: #c5ecbe;
}

grid-row 是 grid-row-startgrid-row-end 的缩写
grid-column 是 grid-column-startgrid-column-end 的缩写

效果图

在介绍 1/span 2 之前需要了解网格线是什么;
                                          网格线

grid-column:3/4; 代表从第 3 条纵线到第 4 条纵列的区域。
grid-row:span 1/2;代表从第 1 条横线到第 2 条横线的区域。中间多的 span 是一个属性值,代表合并网格的意思。
因此,item1能将第一横行的1 ~ 2列合并。item2能将第三列的 1 ~ 2行合并。 那么grid-column: 3/4; 是不是多余的呢?删掉之后,item2便会将其他元素挤下去。仍有待研究。

现在可以布局以下界面啦:
<div class="grid-layout"><div class="nav">nav</div><div class="aside">aside</div><div class="main">main</div><div class="footer">footer</div>
</div>

    .grid-layout {display: grid;grid-template-columns: 1fr 2fr 1fr;grid-template-rows: 100px 200px 80px;}.nav {background: #f857b5;grid-column: 1/span 2;}.aside {background: #fdffdc;grid-row: 1/span 2;grid-column: 3/4}.main {background: #c5ecbe;grid-column: 1/span 2}.footer {background: #f857b5;grid-column: 1/span 4}

 

转载于:https://www.cnblogs.com/miku561/p/10484914.html

CSS grid学习(一)相关推荐

  1. miniui文件上传 linux,MINIUI grid学习笔记

    grid 控件 a.事件的绑定和移除 grid.on("rowclick", fn); //绑定事件 (这个的话类似jquery的绑定事件) grid.un("rowcl ...

  2. 使用 CSS Grid Generator来快速使用及学习 Grid 布局

    CSS Grid Generator CSS Grid Generator 是一个由Sarah Drasner创建的免费工具.它是一个可视化设计工具,允许咱们创建一个基本的 grid 布局,然后就可以 ...

  3. vue css 应用变量_如何使用CSS Grid和CSS变量快速为应用创建原型

    vue css 应用变量 CSS Grid and CSS Variables are both huge wins for front-end developers. The former make ...

  4. [译] 你不需要基于 CSS Grid 的栅格布局系统

    本文讲的是[译] 你不需要基于 CSS Grid 的栅格布局系统, 原文地址:You do not need a CSS Grid based Grid System 原文作者:Rachel Andr ...

  5. 翻译 | CSS网格(CSS Grid)布局入门

    原文地址:Getting to know CSS Grid Layout 原文作者:Chris Wright 译者:华翔 校对者:珂珂.干干 翻译 | CSS网格(CSS Grid)布局入门 bann ...

  6. CSS Grid 网格布局全解析

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

  7. 带你入门 CSS Grid 布局

    前言 三月中旬的时候,有一个对于 CSS 开发者来说很重要的消息,最新版的 Firefox 和 Chrome 已经正式支 CSS Grid 这一新特性啦.没错:我们现在就可以在最流行的两大浏览器上玩转 ...

  8. css grid布局

    最近在学习css grid布局,为了避免以后忘记了难得查资料,遍写在博客中方便以后查询! 1,display属性 display有三个值, grid :生成一个块级网格 inline-grid :生成 ...

  9. CSS Grid网格布局全攻略

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

最新文章

  1. python元组类型的变量以及字符串类型的变量作为参数进行传值
  2. IDEA自动编译less文件输出css
  3. Arduino学习笔记35
  4. 记事本 换行符_Windows 记事本再度上架 Microsoft Store
  5. PB开发境界 多个DW进行update
  6. 20061008: IntelliJ Idea 6
  7. 一个新时代的降临:智慧的医疗系统
  8. Windows系列服务器上配置JSP运行环境,以及网站上线
  9. VS Code设置插件默认安装路径
  10. Oracle 11gR2 dataguard 介绍
  11. 邮箱传大文件怎样快_5款好用的企业邮箱推荐
  12. 打印端口用计算机名,如何设置打印机端口,教您设置电脑打印机端口
  13. Kubernetes Secrets
  14. 计算机开机出现alert,开机提示alert! cover was previously removed(主机盖被移动)
  15. Linux文件锁内核VFS层源码实现讲解
  16. 学习使用 Clion 第一次使用Clion开发Qt的hello world
  17. PHP 加密、解密工具Zend Guard和ionCube
  18. 投研报告 - Polkadex(PDEX
  19. android解锁动画效果,Android 5秒学会使用手势解锁功能
  20. 干货|DC-DC PCB Layout 设计要点,5个部分,帮你搞定PCB布板

热门文章

  1. 联想笔记本java环境变量_联想ThinkPad笔记本如何添加系统环境变量?
  2. Python 基于pykafka简单实现KAFKA消费者
  3. 并行程序设计模式--Master-Worker模式
  4. ListView添加headview
  5. 继承20161223
  6. 小明的调查统计(二)
  7. android中将自己的自定义组件打成JAR包
  8. 漫谈Servlet(一)
  9. php sql语句计算距离,sql计算经纬度得出最近距离的公式
  10. nginx总结(面试必看)