Css网格布局-Grid布局
Grid
概念
Grid布局是一种二维布局方法,能够在行和列中布置内容。因此在任何网格中都有两个轴,横轴(即行轴,内联)和纵轴(即列轴,块)。
什么是网格
网格是一组相交的水平线和垂直线,它定义了网格的列和行。我们可以将网格元素放置在与这些行和列相关的位置上
固定或弹性的轨道的大小
- 可以使用固定的轨道尺寸创建网格,比如使用像素单位。
- 也可以使用比如百分比或者fr(专门为此目的创建的新单位)来创建有弹性尺寸的网格
网格容器
通过在元素上声明 display:grid 或 display:inline-grid 来创建一个网格容器。一旦我们这样做,这个元素的所有直系子元素将成为网格元素。
网格轨道
通过 grid-template-columns 和 grid-template-rows 属性来定义网格中的行和列。这些属性定义了网格的轨道。一个网格轨道就是网格中任意两条线之间的空间。
fr单位
轨道可以使用任何长度单位进行定义。
网格还引入了一个新的长度单位fr代表网格容器中可用空间的一等份。
在轨道清单中使用repeat()
有着多轨道的大型网格可使用 repeat() 标记来重复部分或整个轨道列表。
.wrapper {display: grid;grid-template-columns: 1fr 1fr 1fr;
}
两者等价
.wrapper {display: grid;grid-template-columns: repeat(3, 1fr);
}
Repeat 语句可以用于重复轨道列表中的一部分。在下面的例子中我创建了一个网格:它起始轨道为20像素,接着重复了6个1fr的轨道,最后再添加了一个20像素的轨道。
.wrapper {display: grid;grid-template-columns: 20px repeat(6, 1fr) 20px;
}
隐式网格
如果在网格定义之外又放了一些东西,或者因为内容的数量而需要的更多网格轨道的时候,网格将会在隐式网格中创建行和列.
按照默认,这些轨道将自动定义尺寸,所以会根据它里面的内容改变尺寸。
也可以在隐式网格中用 grid-auto-rows 和 grid-auto-columns 属性来定义一个设置大小尺寸的轨道。
轨道大小 和 minmax()
在设置一个显式的网格或者定义自动创建的行和列的大小的时候,我们也许想给网格一个最小的尺寸,确保他们能扩大到容纳他里面添加的内容。
网格用minmax()函数来解决这个问题。
网格线
当我们定义网格时,我们定义的是网格轨道,而不是网格线。Grid 会为我们创建编号的网格线来让我们来定位每一个网格元素.
网格线的编号顺序取决于文章的书写模式。在从左至右书写的语言中,编号为 1 的网格线位于最左边。在从右至左书写的语言中,编号为 1 的网格线位于最右边。
跨轨道放置网格元素
使用了grid-column-start, grid-column-end, grid-row-start 和 grid-row-end 属性
网格单元
一个网格单元是在一个网格元素中最小的单位, 从概念上来讲其实它和表格的一个单元格很像。
网格区域
网格元素可以向行或着列的方向扩展一个或多个单元,并且会创建一个网格区域。网格区域的形状应该是一个矩形 - 也就是说你不可能创建出一个类似于“L”形的网格区域。
网格间距
在两个网格单元之间的 网格横向间距 或 网格纵向间距 可使用 grid-column-gap 和 grid-row-gap 属性来创建,或者直接使用两个合并的缩写形式 grid-gap。
嵌套网格
一个网格元素可以也成为一个网格容器。
CSS属性
display
- grid :生成一个块级网格
- inline-grid :生成一个内联网格
- subgrid :嵌套网格
grid-template-columns
- 该属性是基于 网格列. 的维度,去定义网格线的名称和网格轨道的尺寸大小。
- 这些值表示 网格轨道(Grid Track) 大小,它们之间的空格表示网格线。
grid-template-rows
- 该属性是基于 网格行 的维度,去定义网格线的名称和网格轨道的尺寸大小。
grid-template-areas
- 该属性是 grid areas 在CSS中的特定命名.
- 通过引用 grid-area 属性指定的 网格区域(Grid Area) 名称来定义网格模板。重复网格区域的名称导致内容跨越这些单元格。一个点号(.)代表一个空的网格单元。这个语法本身可视作网格的可视化结构。
grid-template
- 用于定义 grid-template-rows ,grid-template-columns ,grid-template-areas 缩写(shorthand)属性。
grid-row-gap
- 设置行元素之间的间隙(gutter)大小
grid-column-gap
- 设置元素列之间的间隔(gutter)大小
grid-gap
- grid-row-gap 和 grid-column-gap 的缩写语
justify-items
- 沿着 行轴线(row axis) 对齐 网格项(grid items) 内的内容
- justify-items: start | end | center | stretch;
align-items
- 沿着 列轴线(column axis) 对齐 网格项(grid items) 内的内容
- align-items: start | end | center | stretch;
demo
demo传送地址
转载于:https://www.cnblogs.com/horizon-jens/p/9909750.html
Css网格布局-Grid布局相关推荐
- 【CSS】栅格(Grid)布局
[CSS]栅格(Grid)布局 文章目录 [CSS]栅格(Grid)布局 声明栅格 划分行列 一个
- css display:grid布局
简介 CSS Grid布局 (又名"网格"),是一个基于二维网格布局的系统,主要目的是改变我们基于网格设计的用户接口方式.如我们所知,CSS 总是用于网页的样式设置,但它并没有起到 ...
- 深入了解css中的grid布局
只说概念可能理解的慢,我们通过做一个小布局,把Gird相关的知识点总结一下.保证你看完之后,grid布局也就学的差不多了. 先看看我们的第一个小例子最终的效果图: 下面是我们的HTML代码 <d ...
- 最强大的 CSS 布局 —— Grid 布局
Grid 布局是什么? Grid 布局即网格布局,是一种新的 CSS 布局模型,比较擅长将一个页面划分为几个主要区域,以及定义这些区域的大小.位置.层次等关系.号称是最强大的的 CSS 布局方案,是目 ...
- CSS基本布局——grid布局
grid布局简介: Grid布局是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局. 基本概念: 容 ...
- CSS3动画大全(附源码)flex布局,grid布局3d旋转,图像模糊,文字发光
CSS3动画大全(附源码)3d旋转,图像模糊,文字发光! 文章目录 CSS3动画大全(附源码)3d旋转,图像模糊,文字发光! html代码 css grid布局 flex布局 文字发光 & 图 ...
- Web:flex模拟移动商城首页页面布局/grid布局的相关属性
flex模拟移动商城首页页面布局 1.布局页面导航 大家可以看到图片上的红色边框,用了flex布局,布局了一个多行容器,采用的是无序列表ul. css代码块 /* 设置导航样式,定义flex容器 */ ...
- CSS 布局 - grid - 二维布局方法 - 网格布局
目录 一.grid 二维布局模块 二.基本概念 理解逻辑 - 容器 - 项目 理解行列 - 二维布局 理解单元格 网格线 三.容器属性 使用方法 CSS 重要属性配置 grid-template-co ...
- css 网格布局_我从CSS网格布局中学到的东西
css 网格布局 by Jennifer Wjertzoch 珍妮弗·维佐奇 我从CSS网格布局中学到的东西 (Things I've learned about CSS grid layout) W ...
最新文章
- 春节充电 | 送你10本机器学习和数据科学必读书(附PDF下载)
- 在WP7下自定义RelativeSource 的Binding
- 【前端开发与项目管理】
- 安卓模拟器 Genymotion 安装
- python闰年多一天_记一个 python datetime 闰年问题
- latex 学习资料
- python 太灵活_Python中的灵活参数
- MySQL 事物的4种隔离级别
- tde数据库加密_在其他服务器上还原启用了透明数据加密(TDE)的数据库
- 安川g7接线端子图_安川G7变频器各接线端子功能说明
- java 实现jpg、png、tif、gif 任意图像格式转换(多页tif合并)
- 电脑上既好看又好用的便签软件推荐
- 微博宕机复盘:什么样的技术架构,可支持80个明星并发出轨?
- 用Java实现给图片添加文字水印
- Drill系列(1):Dremel的原理
- 程序员副业之如何利用空余时间从博客中赚钱?
- 团队公司地点拍照打卡签到活动小程序 document.forms[“myForm“][“fname“]
- php 作业 的背景,新课课程背景下中学语文作业布置的思考(网友来稿)a href=/friend/list.php(教师中心专稿)/a...
- 公司职位简称表 C?O
- c++ eof()函数
热门文章
- 用管控策略设定多账号组织全局访问边界
- Dubbo 版 Swagger 来啦!
- 大促场景下云通信高可用、稳定性实战
- ubuntu mysql 迁移_(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法
- SQL基础【二十、索引】(超细致版本,前理论,后实践,应对sql面试绰绰有余)
- 如何诊断RAC数据库上的“IPC Send timeout”问题?
- 去IOE:去掉“IE”就Ok?
- Oracle dbtimezone与os时区不一致的解决办法
- solaris下同一机器2个实例之间切换
- linux系统中查看gcc内置宏定义的命令方法