登录  /  注册
首页 > web前端 > css教程 > 正文

css grid布局是什么?grid布局的基本介绍

青灯夜游
发布: 2018-11-28 17:44:56
原创
3458人浏览过

网格是布局设计的基础,而css grid是一个二维布局系统,专门用于处理web上基于网格的用户界面。通过grid(网格) 布局可以解决页面上的很多布局问题。

grid布局

CSS Grid布局的功能很强大,本篇文章我们就来简单介绍一下Grid布局,让大家了解Grid布局的一些基本概念和术语,希望对你们有所助。

Grid布局的作用:

在网络相对较短的生命周期中,开发人员一直在尝试各种方法来在浏览器中布置内容。我们一直是使用来css布局网页的, 但都存在这样或那样的问题。先是使用基于表格的布局,然后是使用基于浮动的布局。但这些方法充其量只是解决方法,因为表和浮动都不是用作真正的布局工具。

Grid(网格) 布局是第一个专门为解决布局问题而创建的 CSS 模块,我们终于不需要想尽办法来解决页面布局样式了。

CSS Grid引入了一系列属性,允许我们使用CSS创建网格结构并控制网格项的放置和大小调整。这意味着我们可以使用媒体查询来调整我们的网格布局来适应不同大小的显示屏。

Grid还带有强大的自动放置算法,可以更轻松地填充可用空间,而无需进行大量复杂的计算。在某种程度上,Grid甚至允许在z轴上具有一定的灵活性,因为如果需要,您可以重叠网格项。

css Grid的基本概念和术语

由于Grid的创建非常灵活,并为许多不同的用例提供解决方案,因此我们无法快速就能理解和使用它。下面我们先来看看Grid的一些基本概念和术语。

在网格规范中引入了术语和概念,因此我们想要充分利用网格,首先要了解并理解这些术语和概念。

网格线

网格线是形成网格结构基础的水平线和垂直线。它们用于在网格上定位项目。我们可以用数字索引来引用它们,从1开始。

网格线也有负指数,这允许我们从网格的末尾开始引用网格线。负索引的一个用例是,如果我们需要最后一列中的项目,而不考虑轨道的数量,那么为该项目提供一个值为-1的grid-column-end属性将会处理它。

2.jpg

.grid-container {
display: grid;
grid-template-columns: 150px 150px 150px;
grid-template-rows: 150px 150px;
}

.item {
grid-column-start: 2;
grid-column-end: 4;
grid-row-start: 2;
grid-row-end: 3;
}
登录后复制

我们可以命名网格线,这样就不必计算需要引用的网格线。可以在网格模板列和网格模板行属性中将这些名称声明为可选参数。

3.jpg

.grid-container {
  display: grid;
  grid-template-columns: 150px [col-foo] 150px 150px [col-bar];
  grid-template-rows: 150px [row-foo] 150px [row-bar];
}

.item {
  grid-column-start: col-foo;
  grid-column-end: col-bar;
  grid-row-start: row-foo;
  grid-row-end: row-bar;
}
登录后复制

网格轨道和单元格

网格轨道是2个相邻网格线之间的空间,它们是网格的行和列。下图突出显示了第一行和第二行网格线之间的网格轨迹。我们可以使用grid-row-gap和grid-column-gap属性,利用行间隙和列间隙来把网格轨道分开。

网格单元是2个相邻行网格线和2个相邻列网格线之间的空间。它在概念上类似于表格单元格,因为它是网格的单个单元。下图突出显示了第三和第四列网格线以及第二和第三行网格线之间的网格单元。

4.jpg

.grid-container {
  display: grid;
  grid-template-columns: 150px 150px 150px; /* three columns  */
  grid-template-rows: 150px 150px; /* two rows  */
}
登录后复制

网格区域

网格区域由1个或多个网格单元组成,并由网格区域的每一侧上的4个网格线约束。您可以使用其grid-template-areas属性定义的边界网格线或其名称来引用网格区域。然后可以将网格项目分配给具有网格布局属性的网格区域,例如:grid-area,grid-row,grid-column属性或它们的长格式的等价物。

5.jpg

.grid-container {
  display: grid;
  grid-template-columns: 150px 150px 150px; /* three columns  */
  grid-template-rows: 150px 150px; /* two rows  */
  grid-template-areas: "a b b"
                       "a b b";
}

.item-1 {
  grid-area: a;
}

.item-2 {
  grid-area: b;
}
登录后复制

如前所述,图表的阴影部分是网格轨道之间的沟槽,可以使用grid-row-gap和grid-column-gap属性控制。

所以,把它们放在一起:

1543397586223657.jpg

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是css grid布局是什么?grid布局的基本介绍的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号