css布局之Grid布局

news/2024/9/20 3:09:42/文章来源:https://www.cnblogs.com/shellon/p/17580087.html

前言

最近了解到一种新的布局:grid布局(网格布局),grid并不是最近才看到的,以前在设置display的时候,会在属性值列表中看到,但却没有给过太多关注。一次偶然机会听到:对于九宫格布局的实现,grid布局会比flex布局实现起来更方便,作为flex深度使用者,这句话无疑引起了我强烈的欲望,想要对grid一探究竟。在了解后,才觉得grid功能真的很强大,目前只学习了个皮毛,在这里做个简单的记录。

grid与flex的区别

  1. 概念上
  • flex:又叫弹性布局,是一维布局;
  • grid:又叫网格布局,是二维布局;
  1. 使用上
  • flex:实现九宫格的效果,在某些场景下需要做特殊处理,可以参考我之前的笔记(flex 布局下 space-between/space-around 的使用 );
  • grid:可以很容易的实现,而不需要做特殊处理;
  1. 浏览器兼容性上
  • flex:IE10更早的版本不支持,IE10使用-ms-前缀,UC浏览器使用-webkit-前缀;
  • gird:IE10更早的版本不支持,IE10到 Edge15 的版本,使用的是早期规范,可以使用-ms属性实现简单的网格布局,呈现效果会与现行的规范有一定的差异。可以通过@support (display: grid)做样式的兼容处理,对于支持grid的浏览器,使用网格布局;对于不支持的旧浏览器,使用流布局。

grid 实现九宫格

.wrapper {display: grid;grid-template-columns: repeat(3, 1fr);grid-auto-rows: 200px;gap: 20px;
}
  • grid-template-columns: 设置网格的列轨道。repeat表示重复,第一个参数是重复的次数,第二个参数是要重复的内容,fr是等分。repeat(3, 1fr)即设置页面为3列,3列均分当前页面宽度。
  • grid-auto-rows: 设置行高。
  • gap: 设置行和列间距。
    相比flex,grid的设置是不是更加简洁!

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

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

相关文章

windows安装OpenSSL定义OPENSSL_MODULES

一、安装方式一: 1.1 下载和安装下载其他人做的便捷版安装包http://slproweb.com/products/Win32OpenSSL.html 1.2 配置环境变量:OPENSSL_HOME 1.3 配置环境变量:OPENSSL_MODULES

Ros2 - Moveit2 - 使用 Bullet 进行碰撞检查

除了灵活碰撞库 (FCL) 之外,Bullet 碰撞检测也可用作碰撞检查器。本教程以可视化碰撞教程为基础,展示碰撞。 此外,还提供连续碰撞检测(CCD),并通过 Bullet 进行演示。 入门 如果您还没有这样做,请确保您已经完成入门指南中的步骤。 运行代码 使用 Roslaunch 启动文件直接…

广播数据包报文格式

BLE报文由不同的域组成,如果域的长度超过一个字节,就涉及到先传输字节的低位还是高位的问题,这里分字节序和比特序: 字节序:大多数的多字节域都是从低字节开始传输。但是,并不是所有的多字节域都是从低字节开始传输。 比特序:各个字节传输时,每个字节都是从低位开始。前…

Java 23连夜官宣发布,IDEA亲测可用!

0 前言 官宣发布:IDEA已支持下载:1 JEPs JEP 455 Primitive Types in Patterns, instanceof, and switch (Preview) 通过允许在所有模式上下文中使用原始类型模式,增强了模式匹配,并扩展了 instanceof 和 switch 以适用于所有原始类型。这是一项预览语言特性。 JEP 466 C…

ubuntu编译grpc protobuf

参考:Ubuntu系统中本地编译并安装grpc的C++版本及测试 - 知乎 (zhihu.com) 安装依赖:# 这些可能都已经安装了 sudo apt-get install pkg-config autoconf automake libtool make g++ unzip # 下面的可能没安装 sudo apt-get install libgflags-dev libgtest-dev sudo apt-ge…

python-逻辑运算符对应的函数

__eq__(self, other):用于 == 操作符__ne__(self, other):用于 != 操作符__lt__(self, other):用于 < 操作符__le__(self, other):用于 <= 操作符__gt__(self, other):用于 > 操作符__ge__(self, other):用于 >= 操作符

python-算数运算符对应的函数

__add__(self, other): 用于 + 操作符__sub__(self, other): 用于 - 操作符__mul__(self, other): 用于 * 操作符__truediv__(self, other): 用于 / 操作符__floordiv__(self, other):用于 // 操作符__mod__(self, other): 用于 % 操作符__pow__(sel…

Python 命令跳转微软应用商店问题解决办法

除环境变量外的另一个解决办法。最常见的解决办法就是在环境变量中将 Python 安装路径上移至 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 路径前。 但是有时候这个办法也无法起效,那么此时可以进入系统设置中,将应用执行别名中的 python 项关闭。 其路径在:应用 &…

Wordpress安装

1. 说明LNMP经典网站环境, Linux系统,Nginx网站服务,MySQL数据库(Mariadb),PHP(运行环境) Wordpress PHP代码.2. 建议的搭建顺序MySQL数据库(mariadb) PHP环境 php 7.x Nginx 直接安装即可2.1. 部署数据库查看代码 # 1.安装mariadb数据库 root@iZ2zei5cw2j6q770mgp5kvZ:~# apt …

一个cmakelist的例子(自动处理多个proto)

背景: 由于项目需要,把所有的proto文件放在了统一的文件夹中,为了方便更新以及加快编译速度,要把这个proto自动转成.cc .pb.h文件,再编译成so。 为此,写了个cmakelist.txt。主要功能: 1)自动遍历指定目录下所有proto文件,调用ptotoc生成.cc文件,如下图:cc文件存放在…

Hadoop(十三)HDFS DataNode

一、DataNode工作机制1、一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳 2、DataNode启动后向NameNode注册,通过后,周期性(6小时)的向NameNode上报所有的块信息 3、心跳是每3秒一…