网格布局

学习来自阮一峰老师的教程网格布局和网络上的一些资料的学习

1、定义:

顾名思义,网格布局是将页面按行(row)和列(column)划分成一个个网格来进行布局

使用方法:display:grid || inline-grid来定义一个容器为网格布局

在定义网格布局的容器里面的display:table-ceil,float,vertical-align等设置会失效
示例图:

2、容器属性:
  • grid-template-columns: 定义每一列的列宽
  • grid-template-rows: 定义每一行的行高
注意: repeat:定义重复列宽或行高 fr:定义的属性值,代指片段宽度, 2fr为1fr的两倍宽,还有auto-fill关键字,minmax()方法,auto关键字等属性
  • grid-row-gap: 定义行与行之间的间距
  • grid-column-gap: 定义列与列之间的间距
  • grid-gap: grid-row-gap grid-column-gap
  • grid-auto-flow: 定义项目的排列顺序,row(默认值,先行后列) column(先列后行) row||column + dense(类似于浮动,尽量贴紧)
  • justify-items: 定义项目中的水平位置,值:start(左) | end(右) | center(中) | stretch(默认,拉升);
  • align-items:定义项目中的垂直位置,值:start(左) | end(右) | center(中) | stretch(默认,拉升);
  • place-items: justify-items align-items
  • justify-content: 是整体(全部)项目在容器中的水平位置,值:start | end | center | stretch | space-around | space-between | space-evenly
  • align-content :是整体(全部)项目在容器中的垂直位置,值与justify-content相同
  • place-content: justify-content align-content
  • grid-auto-columns 与 grid-auto-columns 对自动创建的多余网格设置列宽和行高
3、项目属性:

grid-column||row-start||end 定位项目从哪个网线开始或截止

grid-column: grid-column-start / grid-column-end 的简写 grid-row与之一样

justify||align-self :设置单个项目的水平或垂直位置(不是全部,只设置一个)

place-self: jsutify-self align-self 简写

实例代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<style>
.main{
/*
grid: 默认为块元素
inline-grid: 默认为行内块元素
*/
display:grid;
width:400px;
height:150px;
/* 定义列宽,定义多少个就分成多少列
注意没定义行高,实际中会跟据项目自动分配行高(自动填充==默认值导致(stretch等))、
grid-template-columns: 100px 100px 100px; == repeat(3,100px);
grid-template-columns: 100px 100px 100px; == repeat(3,1fr);
*/
grid-template-columns: 100px 100px 100px;
grid-row-gap: 10px;
grid-column-gap: 10px;
justify-items: stretch;
}
.left{
background-color:lightcoral;
/* justify-self: left; */
}
.contain{
background-color:limegreen;
}
.right{
background-color:lightskyblue;
}
</style>
<body>
<!-- <span>1111</span> -->
<div class="main">
<div class="left">1</div>
<div class="contain">2</div>
<div class="right">3</div>
<div class="right">4</div>
<div class="left">5</div>
<div class="contain">6</div>
</div>
<!-- <span>2222</span> -->
</body>
</html>
总结:

不行了,看完脑子太乱了,这些语法还是等以后,做个实战来加深记录吧~~

关于css布局的记录(二) --网格布局的更多相关文章

  1. CSS进阶之模拟Bootstrap网格布局

    目前暂时实现效果,容后面整理心得,先贴上源代码. 源码 <!DOCTYPE html> <html> <head> <title>demo bootst ...

  2. CSS Grid网格布局全攻略

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

  3. CSS Grid 网格布局教程

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

  4. css 网格布局

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

  5. 使用BootStrap网格布局进行一次演示

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Android零基础入门第32节:新推出的GridLayout网格布局

    原文:Android零基础入门第32节:新推出的GridLayout网格布局 本期主要学习的是网格布局是Android 4.0新增的布局,和前面所学的TableLayout表格布局 有点类似,不过他有 ...

  7. Grid 网格布局详解

    Grid网格布局详解: Grid布局与Flex布局有着一定的相似性,Grid布局是将容器划分成行和列,产生单元格,可以看做是二维布局. 基本概念: 采用网格布局的区域,称为"容器" ...

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

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

  9. 原生 CSS 网格布局学习笔记

    下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权.在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习 ...

随机推荐

  1. Process用法与进程详解

    僵尸与孤儿进程 僵尸进程:父进程的子进程结束的时候父进程没有wait()情况下子进程会变成僵尸进程 孤儿进程(无害) 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿 ...

  2. VLAN实验2(配置Trunk接口)

    本实验基于<HCNA网络技术实验指南> 本实验使用eNSP软件 原理概述: 在以太网中,通过划分VLAN来隔离广播域和增强网络通信的安全性.以太网通常由 多台交换机组成,为了使VLAN的数 ...

  3. 拿 C# 搞函数式编程 - 2

    前一阵子在写 CPU,导致一直没有什么时间去做其他的事情,现在好不容易做完闲下来了,我又可以水文章了哈哈哈哈哈.顺便成立了自己的专栏:hez2010 的编程日常,欢迎大家关注(逃 有关 FP 的类型部 ...

  4. 使用Spring Data JPA的Specification构建数据库查询

    Spring Data JPA最为优秀的特性就是可以通过自定义方法名称生成查询来轻松创建查询SQL.Spring Data JPA提供了一个Repository编程模型,最简单的方式就是通过扩展Jpa ...

  5. JS获得天数差异

    //获得天数差异 function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12-18格式 var dateSpan, tempDa ...

  6. chrome浏览器通过ajax的POST请求报403解决方法

    方法1  把POST改成GET方式 方法2 添加请求格式contentType:“application/json”,

  7. 高质量iOS博客推荐

    https://www.jianshu.com/p/ea9fabdc12ed 原文地址 原作者记录了一些高质量ios博客地址,本文只做收藏使用.

  8. git 使用详解(9)-- 分支的新建与合并 git branch -d、merge、 --merged/--no-merged/-v

    现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 假设此时,你突然接到一个电话说有个很严重的 ...

  9. 大数据之Linux用户权限设置

    用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理,在Linux系统中, 不论是由本级或是远程登录系统, 每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限 ...

  10. three.js各种材质的实现源码

    three.js常用材质:基本材质.兰伯特材质.冯氏材质.标准材质. 我们可以自己使用着色器实现这些材质,用于批量渲染等用途. 为了简单,假设物体只有一张漫反射贴图,场景中只存在一个环境光和一个平行光 ...