博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3 网格布局(grid layout)基础知识 - 隐式网格自己主动布局(grid-auto-rows/grid-auto-columns/grid-auto-flow)...
阅读量:5818 次
发布时间:2019-06-18

本文共 1603 字,大约阅读时间需要 5 分钟。

网格模板(grid-template)属性及其普通写法(longhands)定义了一个固定数量的轨道。构成显式网格。

 

当网格项目定位在这些界限之外。网格容器通过添加隐式网格线生成隐式网格轨道。 

这些隐含的和显式的网格线一起构成隐式网格(implicit grid)。 

隐式网格轨道的尺寸由网格自己主动行(grid-auto-rows)和网格自己主动列(grid-auto-columns)属性来确定。

网格自己主动流(grid-auto-flow)属性用来控制无明白位置的网格项的自己主动定位(auto-placement), 

一旦显式网格被填满(或者假设没有显式的网格),auto-placement也将导致隐式网格轨道的生成。

自己主动生成行和列的尺寸:grid-auto-rows 和 grid-auto-columns 属性

假设一个网格项被放到一个未明白定义尺寸的行或列中,隐式网格轨道将被创建来容纳它。

 

这在两种情况下会发生:通过显式定位到一个超出范围的行或列中,或是由自己主动定位算法创建额外的行或列。

 

网格自己主动列和网格自己主动行属性用来指定这种隐式创建的轨道的大小。

我们仍然通过实例来学习这个属性的使用方法:
#grid {    display: grid;    grid-template-columns: 20px;    grid-template-rows: 20px }  #A { grid-column: 1;          grid-row: 1; }  #B { grid-column: 5;          grid-row: 1 / span 2; }  #C { grid-column: 1 / span 2; grid-row: 2; }
A
B
C
假设一个网格项被放到一个未明白定义尺寸的行或列中,隐式网格轨道将被创建来容纳它。 
这在两种情况下会发生:通过显式定位到一个超出范围的行或列中,或是由自己主动定位算法创建额外的行或列。 
网格自己主动列和网格自己主动行属性用来指定这种隐式创建的轨道的大小。
上面这个样例演示了隐式网格轨道的使用。

本例中共创建了2行5列。当中显式声明的仅仅有第1行/第1列,除此之外有1个隐含行和4个隐含列。

 

网格项B位于网格线5,这将自己主动创建4个隐式网格列,可是因为列3和4中没有不论什么网格项,所以其宽度塌缩为0。
你能够通过 。(请使用Chrome打开)
注意:因为网格布局是制定中的W3规范。所以浏览器尚未全然支持,眼下Chrome已支持。

自己主动布局:网格自己主动流(grid-auto-flow)属性

未明白指定位置的网格项将通过自己主动定位算法来自己主动放置到网格容器的未占用空间中。 
网格自己主动流就是用来控制自己主动布局算法怎样工作的。指定怎样把自己主动布局的网格项放进网格中。
row
自己主动布局算法把网格项按顺序填充到每一行。必要时加入新行。

这是grid-auto-flow的缺省值。

column
自己主动布局算法把网格项按顺序填充到每一列。必要时加入新列。

dense
假设指定了dense,将使用“密集”填充算法。它试图把排在后面的体积小的网格项填充到“大个头”网格留下的空隙中,就像我们在汽车后备箱塞物品一样。

这有可能会导致填充顺序和代码顺序不同。

假设未指定,则将使用“稀疏”填充算法。仅仅是按顺序摆放,不回溯填空。

这能够确保全部网格项保持原有的代码序,但有可能会出现页面空间浪费。

相同的我们通过 来学习。

当中代码凝视已经讲得非常清楚,这里不再反复。

转载地址:http://aiwdx.baihongyu.com/

你可能感兴趣的文章
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
ntpdate时间同步
查看>>
+++++++子域授权与编译安装(一)
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
路由器发布服务器
查看>>
实现跨交换机VLAN间的通信
查看>>
jquery中的data-icon和data-role
查看>>
python例子
查看>>
环境变量(总结)
查看>>
ios之UILabel
查看>>