您现在的位置是:网站首页> 编程资料编程资料
在CSS网格布局中的列中填充项目的实现方法CSS3中的display:grid,网格布局介绍js和CSS3实现带详情页面的炫酷网格布局特效CSS Grid 网格布局全解析CSS网格布局的示例代码CSS Grid布局教程之什么是网格布局
2021-09-03
1142人已围观
简介 这篇文章主要介绍了在CSS网格布局中的列中填充项目的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
假设我们有n 个项目,并且我们必须在网格布局中将这些项目按列排序。列数是固定的,我们还必须确保网格布局中的行数最少,以便有效填充网格。在本文中,我把数字视为项目。并且根据我们的要求在网格布局中排列1-13之间的数字。列数固定为三。我将使用 React和SCSS(Sassy CSS)对此进行演示。
1、如果必须按行排列,那将是非常简单的。用CSS就可以了,代码如下所示:

完整的代码,包括CSS部分,如下所示:

输出效果

如你所见,数字按行排列。在这里,网格项目沿水平方向流动,并根据需要自动创建新行。当网格项目流达到列尾时,将创建一个新行。这也称为行优先排列,因为只有在前一行完全填满时才开始下一行。
但是我们的要求是按列安排项目,所以为了按列排列项目,我们需要知道网格布局中的行数。我可以解释为什么要需要知道行数。在逐行排列中,仅当前一行完全填满时(即,前一行中的项目数已等于列数),才开始下一行。
类似地,在逐列排列中,只有当前一列完全填满时(即,前一列中的项目数已等于行数),新列才开始。因此,我们需要知道行数有多少。那么问题来了,我们如何才能知道网格布局中要进行的行数呢?可以通过基本的数学学出来.....。我们现在知道了网格项目的数量,也知道列数。因此,我们要进行行数最小化可以运用此公式Math.ceil(itemsCount/columnsCount),为什么要最小化行数,因为如果我们采用更大的随机整数作为行数,那么网格将无法有效填充,整个布局中会有一些格子没能填充上。以下CSS代码是按列排列的,并且由于我们必须动态的设置grid-template-rows字段,因此以下代码中不存在该字段:

完整的代码,包括CSS部分,如下所示:

可以看到在第16行,会计算行数。在第17行,该grid-template-rows字段是动态设置的。

在这里,你可以看到数字以固定的列数(3)按列排列。同样,最小化的行数为五。如果行数少于五,则无法进行排列。并且如果行数大于五,则布局中将有没填上的空白空间。仅当前一列完全填满时,列才开始。
结尾
这种技巧可以计算网格布局中要进行的行数并对其进行动态设置,从而非常轻松地解决了该问题。由于我们需要知道按列排列的行数,因此可以说,为解决此问题而对项目进行排列时,行数和列数都需要知道。注意:当布局的宽度(而不是列数)固定时,可以采用具有相同类型的解决方案来解决。
到此这篇关于在CSS网格布局中的列中填充项目的实现方法的文章就介绍到这了,更多相关css 网格布局填充项目内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- CSS实现鼠标移入时图片的放大效果及缓慢过渡效果的示例代码浅谈CSS3鼠标移入图片动态提示效果(transform)css3+伪元素实现鼠标移入时下划线向两边展开的效果纯css写的评分鼠标移入的效果附图纯CSS实现商品图片点击放大效果
- CSS 实现 10 种现代布局的代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- css实现图片自适应容器的几种方式(小结)CSS将img图片填满父容器div自适应容器大小的实现方法CSS实现宽高等比自适应容器的方法css实现图片自适应容器的示例代码
- 使用Flex布局实现头部固定内容区域滚动的方法详解flex布局下图片变形的解决方法详解flex布局与position:absolute/fixed的冲突问题Flex布局实现div内部子元素垂直居中的示例Flex布局让子项保持自身高度的实现让CSS flex布局最后一行列表左对齐的N种方法(小结)css3 flex布局实现平均分配元素的示例代码flex布局实现上下固定中间滑动的布局方式flex是什么及flex布局语法教程详解
- 详解flex布局下图片变形的解决方法使用Flex布局实现头部固定内容区域滚动的方法详解flex布局与position:absolute/fixed的冲突问题Flex布局实现div内部子元素垂直居中的示例Flex布局让子项保持自身高度的实现让CSS flex布局最后一行列表左对齐的N种方法(小结)css3 flex布局实现平均分配元素的示例代码flex布局实现上下固定中间滑动的布局方式flex是什么及flex布局语法教程详解
- CSS3 input框的实现代码类似Google登录的动画效果css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- 详解flex布局与position:absolute/fixed的冲突问题使用Flex布局实现头部固定内容区域滚动的方法详解flex布局下图片变形的解决方法Flex布局实现div内部子元素垂直居中的示例Flex布局让子项保持自身高度的实现让CSS flex布局最后一行列表左对齐的N种方法(小结)css3 flex布局实现平均分配元素的示例代码flex布局实现上下固定中间滑动的布局方式flex是什么及flex布局语法教程详解
- Flex布局实现div内部子元素垂直居中的示例使用Flex布局实现头部固定内容区域滚动的方法详解flex布局下图片变形的解决方法详解flex布局与position:absolute/fixed的冲突问题Flex布局让子项保持自身高度的实现让CSS flex布局最后一行列表左对齐的N种方法(小结)css3 flex布局实现平均分配元素的示例代码flex布局实现上下固定中间滑动的布局方式flex是什么及flex布局语法教程详解
- Flex布局让子项保持自身高度的实现使用Flex布局实现头部固定内容区域滚动的方法详解flex布局下图片变形的解决方法详解flex布局与position:absolute/fixed的冲突问题Flex布局实现div内部子元素垂直居中的示例让CSS flex布局最后一行列表左对齐的N种方法(小结)css3 flex布局实现平均分配元素的示例代码flex布局实现上下固定中间滑动的布局方式flex是什么及flex布局语法教程详解
- 纯CSS3+DIV实现小三角形边框效果的示例代码详解css如何利用 :before :after 写小三角形CSS3 画基本图形,圆形、椭圆形、三角形等用CSS3绘制三角形的简单方法布局和排版教程 纯css3实现图片三角形排列使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)CSS3实现三角形不断放大效果
