CSS网格布局(grid)的用法详解

网页中的布局是多种多样的,合适的布局可以让网页更加美观,使用css的网格布局,您可以使用带有简单描述的网格布局创建复杂的列。在本文中,我们基于一个简单的例子介绍了css的grid layout介绍。

我们先来看一下容器框架

#(id名){    display: grid;        grid-template-columns: (第一列宽度) (第二列宽度) ...... (第n列宽度);        grid-template-rows: (第一行高) (第二行高) ...... (第n行高);    }

或者

.(class名){    display: grid;        grid-template-columns: (第一列宽度) (第二列宽度) ...... (第n列宽度);      grid-template-rows: (第一行高) (第二行高) ...... (第n行高);    }

还有一种设置内联网格的方法。

#(id名){    display: inline-grid;        grid-template-columns: (第一列宽度) (第二列宽度) ...... (第n列宽度);        grid-template-rows: (第一行高) (第二行高) ...... (第n行高);    }

或者

立即学习“前端免费学习笔记(深入)”;

.(class名){    display: inline-grid;         grid-template-columns: (第一列宽度) (第二列宽度) ...... (第n列宽度);      grid-template-rows: (第一行高) (第二行高) ...... (第n行高);    }

网格框架(项目框架) 

 为成为网格框架的元素指定以下CSS。

#(id名){    grid-column: (列方向的网格的开始位置)/(列方向的网格的结束位置);       grid-row: (行方向的网格的开始位置)/(行方向的网格的结束位置);    }

或者

立即学习“前端免费学习笔记(深入)”;

.(class名){   grid-column: (列方向的网格的开始位置)/(列方向的网格的结束位置);       grid-row: (行方向的网格的开始位置)/(行方向的网格的结束位置);    }

#(id名){    grid-column-start: (列方向的网格的开始位置);            grid-column-end: (列方向的网格的结束位置);            grid-row-start: (行方向的网格的开始位置);            grid-row-end: (行方向的网格的结束位置);        }

或者

立即学习“前端免费学习笔记(深入)”;

.(class名){          grid-column-start: (列方向的网格的开始位置);              grid-column-end: (列方向的网格的结束位置);              grid-row-start: (行方向的网格的开始位置);              grid-row-end: (行方向的网格的结束位置);        }

描述示例

使用网格线指定网格的起始位置和结束位置。

在下面的代码的情况下,单元的宽度是从第二栅格的垂直线到第四栅格的垂直线。

 grid-column: 2 / 4;

代码示例

创建以下CSS、HTML文件。

SimpleGrid.css

.Container {    display: grid;        grid-template-columns: 160px 160px 160px 160px;        grid-template-rows: 120px 120px;        border:solid #ff6a00 1px;}.GridItem1 {    grid-column: 1 / 2;        grid-row: 1 / 2;        background-color: #ff9c9c;}.GridItem2 {    grid-column: 2 / 3;        grid-row: 1 / 2;        background-color: #ffcb70;}.GridItem3 {    grid-column: 3 / 4;        grid-row: 1 / 2;        background-color: #fffd70;}.GridItem4 {    grid-column: 4 / 5;        grid-row: 1 / 2;        background-color: #b0ff70;}.GridItem5 {    grid-column: 1 / 2;        grid-row: 2 / 3;        background-color: #7ee68d;}.GridItem6 {    grid-column: 2 / 3;        grid-row: 2 / 3;        background-color: #7ee6e2;}.GridItem7 {    grid-column: 3 / 4;        grid-row: 2 / 3;        background-color:#95a7f5    }.GridItem8 {    grid-column: 4 / 5;        grid-row: 2 / 3;        background-color: #d095f5;}

SimpleGrid.html

            
内容1
内容2
内容3
内容4
内容5
内容6
内容7
内容8

说明:

下面的容器的CSS描述创建一个4行×2行的网格。

.Container {    display: grid;        grid-template-columns: 160px 160px 160px 160px;        grid-template-rows: 120px 120px;        border:solid #ff6a00 1px;}

网格的每个元素的CSS将是(GridItem 1~GridItem 8)。我们为每个网格定义网格单元。为网格的每个单元格更改背景颜色。

.GridItem1 {    grid-column: 1 / 2;        grid-row: 1 / 2;        background-color: #ff9c9c;}

显示结果

使用Firefox浏览器显示上述HTML文件。将显示如下所示的效果。创建2行×4列的网格,并在每个单元格中显示字符串“item n”。此外,可以为每个单元设置单元的背景颜色。

360截图20181114144500180.jpg

同样,在Google Chrome中显示相同的文件。将显示如下所示的效果。

360截图20181114144607901.jpg

在IE浏览器中无法完成网格显示并且显示已折叠。

所有网格中都没有单元格的示例

虽然前面的例子介绍了那里是在小区内的所有网格的选项的情况下,它会如果在所有网格的任何项目甚至工作。以下是网格中稀疏(离散)单元格的示例。

代码

创建以下CSS,HTML文件。

SimpleGridSparse.css

.Container {    display: grid;        grid-template-columns: 160px 160px 160px 160px;        grid-template-rows: 120px 120px;        border: solid #ff6a00 1px;        background-color:#E0E0E0;}.GridItem1 {    grid-column: 2 / 3;        grid-row: 1 / 2;        background-color: #ff9c9c;}.GridItem2 {    grid-column: 3 / 4;        grid-row: 2 / 3;        background-color: #ffcb70;}.GridItem3 {    grid-column: 4 / 5;        grid-row: 1 / 2;        background-color: #fffd70;}

SimpleGridSparse.html

            
内容1
内容2
内容3

说明:

通过以下代码,网格的外框是2行×4列的网格。

 display: grid;   grid-template-columns: 160px 160px 160px 160px;   grid-template-rows: 120px 120px;

网格的单元部分的CSS如下。这次它是一个2×4 8格的网格,但我们只在里面安排了3个单元格。容器的第一行中的第二列,第二行中的单元的第三列,并把内容的帧在三个地方中的第一行中的单元的第四列。

.GridItem1 {    grid-column: 2 / 3;        grid-row: 1 / 2;        background-color: #ff9c9c;}.GridItem2 {    grid-column: 3 / 4;        grid-row: 2 / 3;        background-color: #ffcb70;}.GridItem3 {    grid-column: 4 / 5;        grid-row: 1 / 2;        background-color: #fffd70;}

网格的HTML部分。描述网格框架内的三个div框架。

内容1
内容2
内容3

显示结果

我们将在Firefox浏览器中显示上述HTML。将显示如下所示的效果。内容框架放置在CSS指定的位置。

360截图20181114150806425.jpg

Google Chrome中显示的效果如下所示。

360截图20181114150910425.jpg

以上就是CSS网格布局(grid)的用法详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1613331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:33:04
下一篇 2025年12月22日 19:49:19

相关推荐

  • 如何使用HTML和CSS创建一个响应式图片网格布局

    如何使用HTML和CSS创建一个响应式图片网格布局 在当今的互联网时代,图片占据了网络内容的重要一部分。为了展示各种类型的图片,我们需要一个有效且美观的网格布局。在本文中,我们将学习如何使用HTML和CSS创建一个响应式的图片网格布局。 首先,我们将使用HTML创建一个基本的结构。以下是示例代码: …

    2025年12月21日 好文分享
    000
  • 如何使用HTML创建一个基本的网格布局页面

    如何使用HTML创建一个基本的网格布局页面 网格布局是一种常见且实用的页面布局方式,它能够以网格的形式将页面划分为多个区域,并且能够灵活地调整区域的大小和位置。在这篇文章中,我们将介绍如何使用HTML来创建一个基本的网格布局页面,并提供具体的代码示例供参考。 首先,我们需要在HTML文件中设置一个容…

    2025年12月21日 好文分享
    000
  • 如何使用HTML和CSS实现网格列表布局

    如何使用HTML和CSS实现网格列表布局 在现代网页设计中,网格列表布局成为了一个非常常见的布局模式。它可以帮助我们轻松地创建出漂亮的网页,让内容清晰地排列在网页中。 本文将介绍如何使用HTML和CSS来实现网格列表布局,并提供具体的代码示例。 首先,我们需要使用HTML来构建网页的基础结构。以下是…

    2025年12月21日
    000
  • 选择最适合你的响应式布局类型的方法

    如何选择适合的响应式布局类型,需要具体代码示例 随着移动设备的普及和互联网的飞速发展,响应式布局成为了网页设计的重要考虑因素。响应式布局能够根据不同的屏幕尺寸和设备类型,自动调整布局和内容的展示效果,提供更好的用户体验。然而,选择适合的响应式布局类型并不是一件容易的事情。本文将介绍几种常见的响应式布…

    2025年12月17日
    000
  • css如何实现网格布局?css网格系统使用教程

    css网格布局是一种强大的二维布局系统,它允许将网页划分为行和列,并在单元格中放置内容。首先,通过设置 display: grid 或 display: inline-grid 将元素定义为网格容器;其次,使用 grid-template-columns 和 grid-template-rows 定…

    2025年12月2日 web前端
    100
  • CSS如何设置网格布局 网格布局实现步骤

    css网格布局是一种强大的二维布局系统,用于创建复杂、响应式的网页结构。其核心步骤包括:1. 创建网格容器,通过设置display: grid或inline-grid;2. 定义行和列,使用grid-template-rows和grid-template-columns属性;3. 放置网格项目,使用…

    2025年12月2日 web前端
    000
  • 如何使用css选择器实现网格布局样式

    答案是使用CSS Grid布局模块结合选择器控制网格结构与项目定位。通过display: grid定义容器,grid-template-columns/rows设置行列,gap设定间距,并利用子选择器及伪类如:nth-child()精准控制样式与布局,实现灵活响应式界面。 使用 CSS 选择器实现网…

    2025年12月2日 web前端
    000
  • css工具CSS Grid Generator与网格布局优化

    CSS Grid Generator通过可视化拖拽生成CSS Grid代码,显著提升布局效率。它帮助开发者快速构建响应式骨架,避免手动计算fr单位和minmax()函数的试错成本。生成基础代码后,需进一步优化:利用minmax()、auto-fit等实现响应式自适应;优先使用显式网格减少浏览器计算负…

    2025年12月2日 web前端
    200
  • css flexbox在网格布局中的应用技巧

    Grid负责页面整体结构划分,Flexbox则在Grid单元格内处理子元素的精细对齐与响应式布局,二者结合实现“骨架”与“血肉”的协同,提升布局灵活性。 在前端布局的世界里,CSS Flexbox和Grid并非相互替代,它们是彼此赋能的绝佳搭档。简单来说,当Grid负责宏观的区域划分时,Flexbo…

    2025年12月2日 web前端
    000
  • 如何使用CSS Grid实现网格布局_复杂布局与子元素管理

    CSS Grid 通过定义网格容器和区域实现复杂布局,使用 grid-template-columns/rows 划分轨道,fr、auto 和 px 控制尺寸,gap 设置间距;利用 grid-column、grid-row 或 grid-area 定位子元素,支持跨行跨列;通过命名区域 grid-…

    2025年12月1日 web前端
    000
  • 如何在CSS Grid中实现文字和图片混排_网格布局优化技巧

    使用CSS Grid实现图文混排需定义grid-template-areas划分区域,如”image content”布局,通过grid-area分配元素位置,利用gap设置间距,align-items:center实现垂直居中,结合媒体查询在小屏调整为”cont…

    2025年12月1日 web前端
    000

发表回复

登录后才能评论
关注微信