css grid布局(css grid布局缺点)

css grid布局(css grid布局缺点)一 grid 布局概述 网格布局 Grid 是最强大的 CSS 布局方案 它将网页划分成一个个网格 可以任意组合不同的网格 做出各种各样的布局 以前 只能通过复杂的 CSS 框架达到的效果 现在浏览器内置了 Grid 布局与 nbsp Flex 布局有一定的相似性 都可以指定容器内部多个项目的位置 但是 它们也存在重大区别 Flex 布局是轴线布局



一,grid布局概述

网格布局(Grid)是最强大的 CSS 布局方案。

它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。

Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。

Flex 布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一维布局。Grid 布局则是将容器划分成"行"和"列",产生单格,然后指定"项目所在"的单格,可以看作是二维布局。Grid 布局远比 Flex 布局强大。

二,基本概念

 2.1,容器和项目

        采用网格布局的区域,称为"容器"(container)。容器内部采用网格定位的子素,称为"项目"(item)。

 
  

上面代码中,最外层的素就是容器,内层的三个素就是项目。

注意:项目只能是容器的顶层子素,不包含项目的子素,比如上面代码的素就不是项目。Grid 布局只对项目生效。

2.2,行和列

容器里面的水平区域称为"行"(row),垂直区域称为"列"(column)

2.3,单格

行和列的交叉区域,称为"单格"(cell)。

正常情况下,行和列会产生个单格。比如,3行3列会产生9个单格。

三,容器相关属性

Grid 布局的属性分成两类。一类定义在容器上面,称为容器属性;另一类定义在容器内部,称为项目属性。这部分先介绍容器属性。

3.1,display 属性

指定一个容器采用网格布局。默认情况下,容器素都是块级素,但也可以设成行内素。

指定一个容器采用网格布局。容器设定为内联块素

注意,设为网格布局以后,容器子素(项目)的、、、和等设置都将失效。

3.2,grid-template-columns 属性,grid-template-rows 属性

容器指定了网格布局以后,接着就要划分行和列。属性定义每一列的列宽,属性定义每一行的行高。

 
  

3.2,auto-fill 关键字

有时,单格的大小是固定的,但是容器的大小不确定。如果希望每一行(或每一列)容纳尽可能多的单格,这时可以使用关键字表示自动填充。

 
  

除了,还有一个关键字,两者的行为基本是相同的。只有当容器足够宽,可以在一行容纳所有单格,并且单格宽度不固定的时候,才会有行为差异:会用空格子填满剩余宽度,则会尽量扩大单格的宽度。

3.3, fr 关键字

类似于栅格布局,网格布局提供了关键字(fraction 的缩写,意为"片段")。如果两列的宽度分别为和,就表示后者是前者的两倍,fr对网格做了自适应的分配。

3.4,grid-row-gap 属性,grid-column-gap 属性,grid-gap 属性

属性设置行与行的间隔(行间距),

属性设置列与列的间隔(列间距),

属性是和的合并简写形式,语法如下

 
  

3.5,grid-template-areas 属性

网格布局允许指定"区域"(area),一个区域由单个或多个单格组成。属性用于定义区域。

3.6,grid-auto-flow 属性

划分网格以后,容器的子素会按照顺序,自动放置在每一个网格。默认的放置顺序是"先行后列",即先填满第一行,再开始放入第二行,即下图数字的顺序。

这个顺序由属性决定,默认值是,即"先行后列"。也可以将它设成,变成"先列后行"。

 
  

属性除了设置成和,还可以设成和。这两个值主要用于,某些项目指定位置以后,剩下的项目怎么自动放置。

3.7,grid-template 属性,grid 属性

属性是、和这三个属性的合并简写形式。

属性是、、、 、、这六个属性的合并简写形式。

不建议使用

四,项目属性

4.1,grid-column-start 属性,grid-column-end 属性,grid-row-start 属性,grid-row-end 属性

项目的位置是可以指定的,具体方法就是指定项目的四个边框,分别定位在哪根网格线。

  • 属性:左边框所在的垂直网格线
  • 属性:右边框所在的垂直网格线
  • 属性:上边框所在的水平网格线
  • 属性:下边框所在的水平网格线
 
  

如下图,第一个项目的左边框是第二根垂直网格线,右边框是第四根垂直网格线。

 
  

如下图,指定四个边框位置的效果

4.2,grid-column 属性,grid-row 属性

属性是和的合并简写形式,属性是属性和的合并简写形式。

 
  

如下例子:

 
  

4.3,grid-area 属性

属性指定项目放在哪一个区域

4.4,justify-self 属性,align-self 属性,place-self 属性

属性设置单格内容的水平位置(左中右),跟属性的用法完全一致,但只作用于单个项目。

属性设置单格内容的垂直位置(上中下),跟属性的用法完全一致,也是只作用于单个项目。

今天的文章 css grid布局(css grid布局缺点)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-11-24 14:11
下一篇 2025-11-24 15:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/22590.html