css中grid属性的用法介绍(代码)

本篇文章给大家带来的内容是关于css中grid属性的用法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

grid布局

加在父元素上的属性

grid-template-columns/grid-template-rows

定义元素的行或列的宽高

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

如果父元素被等分成了9等分,则,不管有多少个子元素,都显示9等分

grid-template-columns: 33% 33% 33%;可以写成grid-template-columns:repeat(3, 33%);

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container1 {  grid-template-columns: 33% 33% 33%;  grid-template-rows: 33% 33% 33%;}

3055378240-5bc6de9adc676_articlex.png

grid-template-areas

父元素的grid-template-areas配合子元素的grid-area定义网格区域

一个句点表示一个空的网格单元

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container2 {  grid-template-columns: 1fr 1fr 1fr 1fr;  grid-template-rows: 1fr 1fr 1fr;  grid-template-areas: "header header . footer"    "main main . sidebar"    "main main . sidebar";}.container2 .item-1 {  grid-area: header;}.container2 .item-2 {  grid-area: main;}.container2 .item-3 {  grid-area: sidebar;}.container2 .item-4 {  grid-area: footer;}
header
main
sidebar
footer

67490298-5bc6dea809ffb_articlex.png

grid-column-gap/grid-row-gap/grip-gap

指网格线的大小,也可以说是网格子项之间的间距

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container3 {  grid-template-columns: repeat(3, 30%);  grid-template-rows: repeat(3, 30%);  grid-column-gap: 2%;  grid-row-gap: 2%;}

1712729364-5bc6deb317842_articlex.png

justify-items/align-items

justify-items让子元素的内容和纵向列轴对齐

align-items让子元素的内容和横向行轴对齐

两个属性都有四个值

我的例子中,为了方便对比,嵌套了grid网格

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container4 {  width: 400px;  height: 200px;  grid-template-columns: repeat(4, 25%);  grid-template-rows: repeat(2, 50%);}.container4 .item {  display: grid;}.container4 .item p {  background-color: coral;  border: 1px dashed #aaa}.container4 .item-1 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: start;}.container4 .item-2 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: end;}.container4 .item-3 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: center;}.container4 .item-4 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: stretch;}.container4 .item-5 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: start;}.container4 .item-6 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: end;}.container4 .item-7 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: center;}.container4 .item-8 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: stretch;}
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list

3139887500-5bc6dec2c1239_articlex.png

justify-content/align-content

设置子元素的对齐方式,justify表示纵向,align表示横向

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container5 {  width: 700px;  height: 200px;  grid-template-columns: repeat(7, 14%);  grid-template-rows: repeat(2, 50%);}.container5 .item {  display: grid;}.container5 .item p {  background-color: coral;  border: 1px dashed #aaa}.container5 .item-1 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: start;}.container5 .item-2 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: end;}.container5 .item-3 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: center;}.container5 .item-4 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: stretch;}.container5 .item-5 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: space-around;}.container5 .item-6 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: space-between;}.container5 .item-7 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: space-evenly;}.container5 .item-8 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: start;}.container5 .item-9 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: end;}.container5 .item-10 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: center;}.container5 .item-11 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: stretch;}.container5 .item-12 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: space-around;}.container5 .item-13 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: space-between;}.container5 .item-14 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: space-evenly;}
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list

269034767-5bc6deda1b34b_articlex.png

grid-auto-columns/grid-auto-rows

grid-column后面的值如果是1 / 2形式,表示的是从第1列网格线开始到第2列网格线结束,如果这个属性定义的网格超出了父元素的范围,则会自动生成隐式网格

grid-auto-columns和grid-auto-rows两个属性来指定这些隐式网格轨迹的宽度

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container6 {  width: 120px;  height: 180px;  grid-template-columns: 60px 60px;  grid-template-rows: 90px 90px;  grid-auto-columns: 60px;}.container6 .item-1 {  grid-column: 1 / 2;  grid-row: 2 / 3;  border: 1px solid #ccc;}.container6 .item-2 {  grid-column: 5 / 6;  grid-row: 2 / 3;  border: 1px solid #ccc;}
1/2&2/3
5/6&2/3

2302366734-5bc6dee9667e8_articlex.png

3646109696-5bc6def2b2782_articlex.png

grid-auto-flow

没有网格元素的时候,自动排列

row表示从左到右排列,column表示从上到下排列

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container7 {  display: grid;  width: 200px;  height: 40px;  grid-template-columns: 40px 40px 40px 40px 40px;  grid-template-rows: 40px 40px;  /* grid-auto-flow: row; */  grid-auto-flow: column;}.container7 .item-1 {  grid-column: 1;  grid-row: 1 / 3;}.container7 .item-5 {  grid-column: 5;  grid-row: 1 / 3;}
1
2
3
4
5

2108510945-5bc6df02ee132_articlex.png

636158564-5bc6df0b3e015_articlex.png

加在子元素上的属性

grid-column-start/grid-column-end/grid-row-start/grid-row-end/grid-column/grid-row

定义网格开始或者结束的位置

值为数字,表示从这条线开始。值为span加数字,表示覆盖了这条线的位置

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container8 {  margin-top: 20px;  grid-template-columns: repeat(5, 20%);  grid-template-rows: repeat(5, 20%);}.container8 .item-1 {  grid-column-start: 2;  grid-column-end: 4;  grid-row-start: 1;  grid-row-end: 2;}.container8 .item-2 {  grid-column-start: 4;  grid-column-end: span 5;  grid-row-start: 2;  grid-row-end: span 5;}.container8 .item-3 {  grid-column: 1 / span 2;  grid-row: 2 / span 4;}
item-1
item-2
item-3

4142444002-5bc6df196fa88_articlex.png

1801515800-5bc6df2167efb_articlex.png

justify-self/align-self

网格子项内容与格线对齐

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container9 {  width: 400px;  height: 200px;  grid-template-columns: repeat(4, 25%);  grid-template-rows: repeat(2, 50%);}.container9 .item-1 {  justify-self: start;}.container9 .item-2 {  justify-self: end;}.container9 .item-3 {  justify-self: center;}.container9 .item-4 {  justify-self: stretch;}.container9 .item-5 {  align-self: start;}.container9 .item-6 {  align-self: end;}.container9 .item-7 {  align-self: center;}.container9 .item-8 {  align-self: stretch;}
item-1
item-2
item-3
item-4
item-5
item-6
item-7
item-8

2711879531-5bc6df30eaa16_articlex.png

3292176044-5bc6df3a33b07_articlex.png

以上就是css中grid属性的用法介绍(代码)的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
css3如何实现图片滤镜效果?filter滤镜属性实现(图文详解)
上一篇 2025年12月24日 03:02:17
vue数据动态添加和动态绑定思路(图文)
下一篇 2025年12月24日 03:02:34

相关推荐

  • laravel如何自定义404和500错误页面_Laravel自定义404与500错误页面方法

    Laravel自定义404和500页面只需在resources/views/errors/下创建对应状态码的Blade文件,如404.blade.php和500.blade.php,系统会自动渲染;通过abort(404)或abort(500)测试,确保APP_DEBUG=false并清除视图缓存即…

    2026年9月8日
    100
  • Laravel中处理同一表单内多个提交按钮的策略

    本教程将详细介绍在laravel应用中,如何有效区分和处理来自同一html表单的多个提交按钮。通过为提交按钮设置独特的`name`和`value`属性,开发者可以在后端控制器中轻松判断用户点击了哪个按钮,从而执行不同的业务逻辑,例如更新数据或删除记录,确保操作的准确性和灵活性。 在Web开发中,我们…

    2026年9月8日
    000
  • PHP本地网络文件传输:SCP与SSH库应用指南

    本教程旨在指导php初学者如何在本地网络中安全高效地传输文件。我们将探讨两种主要方法:通过`shell_exec()`调用系统scp命令,以及利用`phpseclib`库进行更高级的ssh/sftp操作。文章将提供详细的代码示例、配置步骤及安全注意事项,帮助开发者克服`ssh_connect`不可用…

    2026年9月8日
    000
  • VSCode怎么创建IMG文件_VSCode项目中创建和管理图片资源教程

    VSCode怎么创建IMG文件_VSCode项目中创建和管理图片资源教程VSCode怎么创建IMG文件_VSCode项目中创建和管理图片资源教程VSCode怎么创建IMG文件_VSCode项目中创建和管理图片资源教程VSCode怎么创建IMG文件_VSCode项目中创建和管理图片资源教程

    在VSCode项目中合理组织图片资源,应创建清晰的文件结构,如在项目根目录下建立assets/images目录并按功能或页面细分,使用语义化的小写连字符命名文件;引用图片时需理解相对路径与根路径的区别,HTML、CSS、JavaScript中路径写法需结合文件位置和构建工具特性;利用VSCode内置…

    2026年9月8日 用户投稿
    000
  • VSCode编码格式怎么设置_VSCode更改文件编码与解决乱码问题教程

    解决VSCode乱码需统一编码为UTF-8,优先通过状态栏编码选项重新打开或保存文件,设置全局默认编码为utf8并开启autoGuessEncoding,针对项目在.vscode/settings.json中配置特定编码,排查系统区域、终端编码及程序内编码处理,确保各环节编码一致。 VSCode中调…

    2026年9月8日
    000
  • PHP实现视频分类管理_PHP实现视频分类管理

    首先设计数据库表结构,包括分类表和视频表,实现多级分类与视频关联;接着使用PHP进行后端开发,完成分类增删改查、视频上传及分类筛选功能;通过递归函数构建分类树结构;前端展示侧边栏分类导航,支持点击加载对应视频列表;最后强调安全措施如文件类型校验、SQL预处理、权限控制及缓存优化,确保系统稳定可扩展。…

    2026年9月8日
    100
  • VSCode怎么运行代码网页_VSCode搭建本地服务器运行网页教程

    VSCode本身并不能直接“运行”一个代码网页,因为它本质上是一个文本编辑器。我们通常说的“运行”网页,指的是在浏览器中预览和交互。为了实现这一点,尤其是当网页包含JavaScript动态内容、需要加载外部资源或模拟后端请求时,我们需要一个本地服务器环境。最直接且常用的方法是利用VSCode的扩展,…

    2026年9月7日
    000
  • PHP函数文档怎么写_PHP函数文档编写规范与工具

    答案:编写PHP函数文档应遵循PHPDoc规范,使用@param、@return等标签描述参数、返回值及异常,配合PHPDocumentor等工具生成可视化文档,提升代码可读性与维护效率。 编写清晰、规范的PHP函数文档不仅能提升代码可读性,还能方便团队协作和后期维护。良好的文档让其他开发者(包括未…

    2026年9月7日
    100
  • CentOS定时任务如何设置_CentOS定时任务配置教程

    CentOS上设置定时任务主要依赖cron服务,通过crontab -e命令编辑用户级任务,格式为“分 时 日 月 周 command”,支持绝对路径、环境变量定义及日志重定向;系统级任务可通过/etc/crontab、/etc/cron.d/或周期目录配置;常见问题包括路径、权限、脚本头缺失和语法…

    2026年9月7日
    100
  • CentOS系统备份怎么操作_CentOS系统备份与恢复方法

    CentOS系统备份是确保数据安全与业务连续性的关键措施,必须通过文件级(如tar、rsync)和块级(如dd、LVM快照)工具结合实现,核心策略包括定期全量与增量备份、3-2-1存储规则、自动化执行、定期恢复测试及异地加密存储,以应对硬件故障、人为错误等风险,保障系统可快速恢复。 CentOS系统…

    2026年9月7日
    000
  • VSCode怎么设置外部连接_VSCode配置外部链接打开方式教程

    要让VSCode识别并正确打开特定类型链接,需通过配置系统级URL Scheme或使用扩展实现。首先,VSCode默认使用系统默认程序打开外部链接,如网页链接调用默认浏览器。若要自定义处理方式,可在操作系统注册自定义URL Scheme(如Windows修改注册表),将特定协议(如mycustoms…

    2026年9月7日
    300
  • HTML视频元素使用指南

    1、随着html5的推出,新增了video元素,使得网页具备了原生播放视频的能力。在此之前,网页无法直接嵌入视频,通常需要借助第三方插件(例如flash)来实现播放功能。用户必须预先在浏览器中安装这些插件才能正常观看视频内容,若未安装,则视频无法加载或播放。这种依赖外部插件的方式不仅影响兼容性,也降…

    2026年9月7日
    000
  • Outlook怎么设置签名_Outlook邮件签名设计与添加方法

    可通过设置签名在邮件中自动附加信息,Outlook支持创建包含文本、图片、链接的自定义签名,操作包括:一、在桌面客户端文件→选项→邮件→签名新建签名;二、编辑内容并插入图文与超链接;三、为不同账户设置默认签名;四、移动端通过设置添加签名;五、高级用户可导入HTML代码实现定制化设计。 如果您希望在发…

    2026年9月7日
    000
  • HTML转PDF如何切换旧引擎

    双击桌面上的九雷文档转换器快捷方式,启动软件主界面。 进入程序后,点击右上角的三条横线图标,在弹出的菜单中选择“系统设置”,打开全局配置页面。 立即学习“前端免费学习笔记(深入)”; 在右侧功能区找到“HTML转换PDF”设置模块,点击该选项,并在“转换引擎”下拉列表中选择“旧引擎”,即可成功切换至…

    2026年9月7日
    000
  • PHP实时输出在框架中如何使用_PHP框架中集成实时输出实践

    答案:PHP实时输出需关闭缓冲并使用特定响应类型。通过ob_end_flush()、flush()等函数控制输出,Laravel用StreamedResponse、Swoole用协程实现分段发送,关键在于理解缓冲机制并选择合适API以实现实时推送效果。 在PHP开发中,实时输出指的是服务器在处理过程…

    2026年9月7日
    200
  • win11系统提示”系统服务异常netprofm”_win11网络列表服务崩溃的处理

    win11系统提示”系统服务异常netprofm”_win11网络列表服务崩溃的处理win11系统提示”系统服务异常netprofm”_win11网络列表服务崩溃的处理win11系统提示”系统服务异常netprofm”_win11网络列表服务崩溃的处理win11系统提示”系统服务异常netprofm”_win11网络列表服务崩溃的处理

    win11系统提示“系统服务异常netprofm”通常意味着网络列表服务崩溃,解决办法包括重启服务、检查依赖项、修改注册表。1. 重启网络列表服务:通过运行services.msc找到”network list service”并重新启动;2. 检查依赖项:确保dhcp cl…

    2026年9月7日 用户投稿
    000
  • 如何使用CSS clip-path实现自适应尺寸的图形裁切?

    CSS clip-path 属性的自适应图形裁剪 为了让CSS clip-path 属性生成的裁剪图形能够适应不同尺寸的元素,例如按钮,我们需要使用相对单位。 直接使用百分比(%)会造成裁剪区域与元素尺寸不匹配的问题。 解决方法:使用vw和vh单位 以下代码片段演示了如何使用 vw (视口宽度) 和…

    2026年9月7日
    100
  • VSCode怎么看页面_VSCode实时预览HTML页面方法与配置教程

    使用Live Server扩展是VSCode中实时预览HTML页面最高效的方法,安装后通过右键“Open with Live Server”或点击底部状态栏“Go Live”启动本地服务器,保存文件时浏览器自动刷新,支持自定义浏览器、端口和排除文件,极大提升前端开发效率。 在VSCode中查看并实时…

    2026年9月7日
    100
  • SVG pathLength属性:如何测量路径长度并应用于动画和元素移动?

    svg pathlength 属性详解及应用 概述: SVG 的 pathLength 属性用于定义 元素路径的长度,单位为像素。这个属性非常有用,可以精确控制沿路径的动画和元素移动。 使用方法: 测量路径长度: 使用 JavaScript 的 getPathLength() 方法可以获取 元素的总…

    2026年9月7日
    100
  • 修复 Prestashop 1.7.7.2 产品变体主图不随属性变化的教程

    修复 Prestashop 1.7.7.2 产品变体主图不随属性变化的教程修复 Prestashop 1.7.7.2 产品变体主图不随属性变化的教程修复 Prestashop 1.7.7.2 产品变体主图不随属性变化的教程修复 Prestashop 1.7.7.2 产品变体主图不随属性变化的教程

    本教程旨在解决Prestashop 1.7.7.2版本中,产品变体(如颜色、尺寸)切换后,主图不随之更新的问题。该问题通常源于主题模板文件中的Smarty变量引用错误。我们将详细指导如何修改product-cover-thumbnails.tpl文件,将 $product.cover 替换为 $pr…

    2026年9月7日 用户投稿
    100

发表回复

登录后才能评论
关注微信