目录
1. Define a Grid Container
2. Set Up Columns and Rows
3. Use Flexible Units (like fr, auto, %)
4. Use repeat() for Simplicity
5. Make It Responsive
6. Place Items Explicitly (Optional)
Basic HTML Example
首页 web前端 css教程 如何在CSS中创建网格?

如何在CSS中创建网格?

Jul 28, 2025 am 04:35 AM

定义网格容器需设置display: grid;2. 使用grid-template-columns和grid-template-rows设定行列大小;3. 采用fr、auto、%等灵活单位实现响应式布局;4. 利用repeat()函数简化重复的列或行定义;5. 结合minmax()与auto-fit/auto-fill实现自适应网格;6. 可选地通过grid-column、grid-row或grid-area精确控制项目位置;完整设置包括容器声明、轨道定义、间隙添加及响应式优化,即可构建高效灵活的二维布局。

How to create a grid in CSS?

Creating a grid in CSS is straightforward using CSS Grid Layout, a powerful two-dimensional layout system. Here’s how to set it up step by step.

How to create a grid in CSS?

1. Define a Grid Container

To create a grid, start by applying display: grid to a container element:

.container {
  display: grid;
}

This turns the element into a grid container, and its direct children become grid items.

How to create a grid in CSS?

2. Set Up Columns and Rows

Use grid-template-columns and grid-template-rows to define the size and number of columns and rows.

Example: A 3-column grid with 2 rows

How to create a grid in CSS?
.container {
  display: grid;
  grid-template-columns: 100px 150px 100px;
  grid-template-rows: 80px 60px;
  gap: 10px; /* Adds space between grid items */
}

This creates:

  • 3 columns (100px, 150px, 100px wide)
  • 2 rows (80px and 60px tall)
  • 10px gap between items

3. Use Flexible Units (like fr, auto, %)

For responsive grids, use flexible units:

.container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr; /* Middle column twice as wide */
  grid-template-rows: auto 100px;
  gap: 1rem;
}
  • fr = fraction of available space
  • auto = size based on content
  • % = percentage of container width/height

4. Use repeat() for Simplicity

To avoid repetition, use the repeat() function:

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
  gap: 20px;
}

You can also combine patterns:

grid-template-columns: repeat(3, 150px 1fr);

5. Make It Responsive

Use minmax() and auto-fit/auto-fill with repeat():

.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
  • This creates as many columns as fit, each at least 200px wide, expanding equally.
  • Great for responsive card layouts.

6. Place Items Explicitly (Optional)

You can position items precisely:

.item1 {
  grid-column: 1 / 3; /* spans from column 1 to 3 */
  grid-row: 1 / 2;    /* spans one row */
}

Or use grid-area:

.item2 {
  grid-area: 2 / 1 / 3 / 4; /* row start / col start / row end / col end */
}

Basic HTML Example

<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
</div>
.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.item {
  background: lightblue;
  padding: 20px;
  text-align: center;
}

That’s it. CSS Grid is flexible and efficient for both simple and complex layouts. Start with display: grid, define your tracks, add gaps, and go responsive when needed. Basically just a few lines and you’re set.

以上是如何在CSS中创建网格?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一个根据目标浏览器范围自动为CSS属性添加厂商前缀的工具。1.它解决了手动维护前缀易出错的问题;2.通过PostCSS插件形式工作,解析CSS、分析需加前缀的属性、依配置生成代码;3.使用步骤包括安装插件、设置browserslist、在构建流程中启用;4.注意事项有不手动加前缀、保持配置更新、非所有属性都加前缀、建议配合预处理器使用。

CSS教程,用于创建粘性标头或页脚 CSS教程,用于创建粘性标头或页脚 Jul 02, 2025 am 01:04 AM

TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

什么是圆锥级函数? 什么是圆锥级函数? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

CSS教程,用于创建加载旋转器和动画 CSS教程,用于创建加载旋转器和动画 Jul 07, 2025 am 12:07 AM

创建CSS加载旋转器的方法有三种:1.使用边框的基本旋转器,通过HTML和CSS实现简单动画;2.使用多个点的自定义旋转器,通过不同延迟时间实现跳动效果;3.在按钮中添加旋转器,通过JavaScript切换类来显示加载状态。每种方法都强调了设计细节如颜色、大小、可访问性和性能优化的重要性,以提升用户体验。

CSS教程专注于移动优先设计 CSS教程专注于移动优先设计 Jul 02, 2025 am 12:52 AM

Mobile-firstCSSdesignrequiressettingtheviewportmetatag,usingrelativeunits,stylingfromsmallscreensup,optimizingtypographyandtouchtargets.First,addtocontrolscaling.Second,use%,em,orreminsteadofpixelsforflexiblelayouts.Third,writebasestylesformobile,the

如何将整个网格集中在视口中? 如何将整个网格集中在视口中? Jul 02, 2025 am 12:53 AM

要让整个网格布局在视口中居中显示,可通过以下方法实现:1.使用margin:0auto实现水平居中,需设定容器固定宽度,适用于固定布局;2.利用Flexbox在外层容器设置justify-content和align-items属性,结合min-height:100vh可实现垂直和水平居中,适合全屏展示场景;3.直接使用CSSGrid的place-items属性在父容器上快速居中,简洁且现代浏览器支持良好,同时需确保父容器有足够高度。每种方式均有适用场景和限制,根据实际需求选择合适的方案即可。

如何创建本质上响应的网格布局? 如何创建本质上响应的网格布局? Jul 02, 2025 am 01:19 AM

要创建内在响应式网格布局,核心方法是使用CSSGrid的repeat(auto-fit,minmax())模式;1.设置grid-template-columns:repeat(auto-fit,minmax(200px,1fr))让浏览器自动调整列数并限制每列最小和最大宽度;2.使用gap控制格子间距;3.容器应设为相对单位如width:100%、配合box-sizing:border-box避免宽度计算错误并用margin:auto居中;4.可选设置行高与内容对齐方式提升视觉一致性,如row

CSS中使用@supports的功能检测是什么? CSS中使用@supports的功能检测是什么? Jul 02, 2025 am 01:14 AM

prainuredetectionIncsssusissuse@supportScheckSifabRowsEsuppecifortSupecifortEfeatureBeforeApplyingReplyingStyles.1.itusesconditionalcsssssbasssbasedonproperty-valueperty-valuepairs,suessas@supports@supports@supports@supports(display:grid)

See all articles