对grid布局有哪些了解【css】

CSS Grid 布局是现代网页设计中非常强大的布局方式之一,它能够使你以更加灵活且直观的方式来设计网页的布局,特别适用于复杂的多行多列的布局。它允许你在网页上创建非常精确的网格,帮助你把内容放置在多个行和列中。

1. Grid 布局的基本概念

CSS Grid 布局允许你将网页划分为多个“网格单元”,这些单元可以以不同的方式进行布局,横向(列)和纵向(行)的设计都非常灵活。

主要概念:
Grid 容器:一个父元素,被声明为 display: grid 或 display: inline-grid。
Grid 项目:这个容器内的直接子元素,它们会按照网格系统排列。
行和列:Grid 的核心,允许你在容器内定义行和列的大小。

2. 如何实现 Grid 布局

2.1 设置 Grid 容器

在父元素上,设置 display: grid 来启用 Grid 布局。

2.2 定义列和行

通过 grid-template-columns 和 grid-template-rows 来定义网格的行列数以及它们的大小。

2.3 定义网格单元位置

使用 grid-column 和 grid-row 来控制每个 Grid 项目所在的位置。你可以将项目放置在特定的行和列上。

3. 示例代码

以下是一个简单的 HTML 和 CSS 示例,展示了如何使用 CSS Grid 布局创建一个三行三列的网格布局。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS Grid Layout</title><style>/* 设置 Grid 容器 */.grid-container {display: grid;grid-template-columns: repeat(3, 1fr); /* 定义 3 列,每列宽度为 1fr */grid-template-rows: repeat(3, 100px); /* 定义 3 行,每行高度为 100px */gap: 10px; /* 设置网格单元之间的间隔 */margin: 20px;}/* 设置 Grid 项目 */.grid-item {background-color: lightblue;text-align: center;line-height: 100px; /* 使文本垂直居中 */border: 1px solid #000;}/* 特定项目的定位 */.item1 {grid-column: 1 / 3; /* 跨越第一列到第三列 */grid-row: 1; /* 位于第一行 */}.item2 {grid-column: 3; /* 位于第三列 */grid-row: 1; /* 位于第一行 */}.item3 {grid-column: 1; /* 位于第一列 */grid-row: 2 / 4; /* 跨越第二行到第四行 */}</style>
</head>
<body><div class="grid-container"><div class="grid-item item1">Item 1</div><div class="grid-item item2">Item 2</div><div class="grid-item item3">Item 3</div><div class="grid-item">Item 4</div><div class="grid-item">Item 5</div><div class="grid-item">Item 6</div><div class="grid-item">Item 7</div><div class="grid-item">Item 8</div><div class="grid-item">Item 9</div>
</div></body>
</html>

4. 代码解析

定义网格容器: .grid-container 使用 display: grid 来启用 Grid 布局。使用 grid-template-columns: repeat(3, 1fr) 和 grid-template-rows: repeat(3, 100px) 分别定义了 3 列,每列宽度为 1fr,以及 3 行,每行高度为 100px。gap: 10px 设置了网格项之间的间距。

Grid 项目:每个 .grid-item 都是网格中的一个项目,通过 text-align: center 和 line-height: 100px 使内容居中。

位置控制:通过 grid-column 和 grid-row 控制每个项的位置。例如,.item1 跨越第一列到第三列,.item3 跨越第二行到第四行。

5. 可以实现的效果

响应式布局:你可以使用媒体查询来根据不同的屏幕宽度调整列和行的数量,使页面在移动端、平板和桌面设备上都有良好的显示效果。

动态布局:Grid 布局使得内容的位置能够灵活地进行调整,特别适用于动态内容的展示。例如,当有更多内容时,网格项会自动扩展或收缩。

复杂的设计:可以实现一些复杂的布局,如瀑布流、响应式网格布局等,通常会比传统的浮动布局更简洁和可维护。

6. 常用属性

grid-template-columns:定义网格列的宽度。
grid-template-rows:定义网格行的高度。
grid-gap(或者 gap):定义网格项之间的间距。
grid-column:定义一个元素所跨越的列。
grid-row:定义一个元素所跨越的行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Node.js下载安装及环境配置教程 (详细版)

Node.js&#xff1a;是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;用于构建可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型&#xff0c;使其非常适合构建实时应用程序。 Node.js 提供了一种轻量、高效、可扩展的方式来构建网络应用程序&#xff0…

软件越跑越慢的原因分析

如果是qt软件&#xff0c;可以用Qt Creator Profiler 作性能监控如果是通过web请求&#xff0c;可以用JMeter监控。 软件运行过程中逐渐变慢的现象&#xff0c;通常是因为系统资源&#xff08;如 CPU、内存、磁盘 I/O 等&#xff09;逐渐被消耗或软件中存在性能瓶颈。这个问题…

leetcode_链表 203.移除链表元素

203.移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回新的头节点 。 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextNone): # …

日志收集Day005

1.filebeat的input类型之filestream实战案例: 在7.16版本中已经弃用log类型,之后需要使用filebeat,与log不同&#xff0c;filebeat的message无需设置就是顶级字段 1.1简单使用&#xff1a; filebeat.inputs: - type: filestreamenabled: truepaths:- /tmp/myfilestream01.lo…

Vue中设置报错页面和“Uncaught runtime errors”弹窗关闭

文章目录 前言操作步骤大纲1.使用Vue自带的报错捕获机制添加报错信息2.在接口报错部分添加相同机制3.把报错信息添加到Vuex中方便全局使用4.添加报错页面备用5.app页面添加if判断替换报错界面 效果备注&#xff1a;vue项目中Uncaught runtime errors:怎样关闭 前言 在开发Vue项…

01、硬件设计常用经典电路

前言 一直想入职嵌入式软件&#xff0c;但是25年作为学历一般的应届生真是太难了&#xff0c;于是今年实习就不想跑太远了&#xff0c;就在老家5线小城市进入了一家小企业&#xff0c;当电子工程师实习&#xff08;学徒&#xff09;。 抱着入职什么&#xff0c;就学习什么的态…

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具&#xff0c;类似于AIVsCode的结合体&#xff0c;只要绑定chatgpt、claude等大模型API&#xff0c;就可以实现对话式自助编程&#xff0c;简单闲聊几句便可开发一个软件应用。 但cursor受限于外网&#xff0c;国内用户玩不了&#xff0c;…

微信小程序中常见的 跳转方式 及其特点的表格总结(wx.navigateTo 适合需要返回上一页的场景)

文章目录 详细说明总结wx.navigateTo 的特点为什么 wx.navigateTo 最常用&#xff1f;其他跳转方式的使用频率总结 以下是微信小程序中常见的跳转方式及其特点的表格总结&#xff1a; 跳转方式API 方法特点适用场景wx.navigateTowx.navigateTo({ url: 路径 })保留当前页面&…

Redis for AI

Redis存储和索引语义上表示非结构化数据&#xff08;包括文本通道、图像、视频或音频&#xff09;的向量嵌入。将向量和关联的元数据存储在哈希或JSON文档中&#xff0c;用于索引和查询。 Redis包括一个高性能向量数据库&#xff0c;允许您对向量嵌入执行语义搜索。可以通过过…

[Unity 热更方案] 使用Addressable进行打包管理, 使用AssetBundle进行包的加载管理.70%跟练

在正常的开发过程中我们经常遇到一些关于热更的方案,有一些已有的方案供我们选择,但是实机情况往往不尽如人意,各有优缺点. 现在我们同样有一个热更的需求,但是要求打包简单,加载过程可查,防止出现一些资源和流程的问题. 下面介绍我在项目中使用的方案. 打包方面使用Addressabl…

免费GPU算力,不花钱部署DeepSeek-R1

在人工智能和大模型技术飞速发展的今天,越来越多的开发者和研究者希望能够亲自体验和微调大模型,以便更好地理解和应用这些先进的技术。然而,高昂的GPU算力成本往往成为了阻碍大家探索的瓶颈。幸运的是,腾讯云Cloud Studio提供了免费的GPU算力资源,结合深度求索(DeepSeek…

寒假1.23

题解 web&#xff1a;[极客大挑战 2019]Secret File&#xff08;文件包含漏洞&#xff09; 打开链接是一个普通的文字界面 查看一下源代码 发现一个链接&#xff0c;点进去看看 再点一次看看&#xff0c;没什么用 仔细看&#xff0c;有一个问题&#xff0c;当点击./action.ph…

Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)

在本系列的上篇中&#xff0c;小李哥为大家介绍了如何在亚马逊云科技上给社交数字营销场景创建AI代理的方案&#xff0c;用于社交动态的生成和对文章进行推广曝光。在本篇中小李哥将继续本系列的介绍&#xff0c;为大家介绍如何创建主代理&#xff0c;将多个子代理挂载到主代理…

【游戏设计原理】81 - 功能可见性暗示

一、什么是功能可见性&#xff1f; 功能可见性&#xff08;Affordance&#xff09;是一个设计心理学的概念&#xff0c;指的是物体或界面元素通过其外观或形态向用户传递的功能暗示。换句话说&#xff0c;功能可见性是指一个物体本身所具备的特性&#xff0c;使人能直接感知到…

6. 马科维茨资产组合模型+政策意图AI金融智能体(DeepSeek-V3)增强方案(理论+Python实战)

目录 0. 承前1. 幻方量化 & DeepSeek1.1 What is 幻方量化1.2 What is DeepSeek 2. 重写AI金融智能体函数3. 汇总代码4. 反思4.1 不足之处4.2 提升思路 5. 启后 0. 承前 本篇博文是对上一篇文章&#xff0c;链接: 5. 马科维茨资产组合模型政策意图AI金融智能体(Qwen-Max)增…

Latex常用语法介绍

LaTeX 是一种基于 TeX 的排版系统&#xff0c;专注于高质量文档的排版&#xff0c;尤其适合学术论文、技术报告、书籍等复杂格式的文档。以下是 LaTeX 的核心语法和功能的详细介绍&#xff1a; 一、LaTeX 文档结构 1. 基本框架 每个 LaTeX 文档由 导言区 和 正文区 组成&…

闲鱼自动抓取/筛选/发送系统

可监控闲鱼最新发布商品&#xff0c;发送钉钉 1&#xff0c;精准关键词匹配&#xff1a;输入核心关键词&#xff0c;精准定位与之高度契合的信息&#xff0c;确保搜索结果直击要点&#xff0c;满足您对特定内容的急切需求。 2&#xff0c;标题关键词智能筛选&#xff1a;不仅着…

深入理解MySQL事务(万字详)

文章目录 什么是事务为什么会出现事务事务的版本支持事务的提交方式事务常见操作方式正常演示 - 证明事务的开始与回滚非正常演示1 - 证明未commit&#xff0c;客户端崩溃&#xff0c;MySQL自动会回滚&#xff08;隔离级别设置为读未提交&#xff09;非正常演示2 - 证明commit了…

[Spring] Gateway详解

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

Arduino Uno 和 1.44 英寸 TFT 屏幕(SPI 接口)初体验

在嵌入式项目中&#xff0c;1.44 英寸 TFT 屏幕&#xff08;SPI 接口&#xff09;是一种非常实用的显示设备&#xff0c;适合用于显示文本、图形和简单动画。本文将详细介绍如何使用 Arduino Uno 和 1.44 英寸 TFT 屏幕进行基本的显示操作&#xff0c;包括显示文本、绘制图形和…