css网格布局简单介绍

        前端网格布局是一种用于在网页上创建复杂网格系统的布局技术。它允许开发者通过简单的语法来定义和控制元素的排列方式,使得页面布局更加灵活和可预测。在CSS中,网格布局可以通过`display: grid`属性来实现。


         特点
        1. **灵活性**:网格布局可以轻松地创建复杂的网格系统,无论是等宽网格还是不等宽网格。
        2. **响应性**:网格布局能够很好地适应不同屏幕尺寸,因为它们是基于比例的。
        3. **可预测性**:网格布局的布局规则是固定的,这使得设计者和开发者能够更容易地预测和控制元素的布局。
        4. **易用性**:网格布局的语法简单,易于理解和使用。
         和Flex布局的不同之处
        1. **设计理念**:
   - **Flex布局**:主要用于一维布局,即项目的排列方向为水平或垂直。它主要用于对容器内的子元素进行对齐和分配空间。
   - **网格布局**:用于二维布局,可以控制元素在水平和垂直方向上的排列。
        2. **容器和项目**:
   - **Flex布局**:容器属性`display: flex`或`display: inline-flex`;项目属性`display: flex`。
   - **网格布局**:容器属性`display: grid`;项目属性`display: grid`或`display: inline-grid`。
        3. **子元素对齐**:
   - **Flex布局**:子元素可以通过`justify-content`和`align-items`属性进行对齐。
   - **网格布局**:子元素可以通过`justify-self`、`align-self`、`grid-column-start`、`grid-column-end`、`grid-row-start`和`grid-row-end`属性进行对齐和定位。
        4. **行和列**:
   - **Flex布局**:没有专门的行和列属性,主要是通过`flex-direction`来控制主轴的方向。
   - **网格布局**:有专门的行和列属性,如`grid-template-columns`和`grid-template-rows`,允许定义行和列的大小和间隔。
        例子和代码解释


        下面是一个简单的网格布局例子,以及代码解释。


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grid Layout Example</title>
<style>.container {display: grid;grid-template-columns: 1fr 2fr 1fr;grid-gap: 10px;}.item {background-color: lightblue;padding: 20px;text-align: center;}.item-1 {grid-column-start: 2;grid-column-end: 3;}
</style>
</head>
<body>
<div class="container"><div class="item item-1">1</div><div class="item">2</div><div class="item">3</div>
</div>
</body>
</html>

        在这个例子中,.container类定义了一个网格容器,它有三个列,分别由grid-template-columns属性指定。.item类定义了网格中的项目,它们默认会填充整个网格容器。grid-template-columns: 1fr 2fr 1fr;:这定义了网格容器的列,其中1fr代表一列,2fr代表两列,1fr代表一列。
grid-gap: 10px;:这定义了网格容器中列与列之间的间距。.item-1类通过grid-column-start和grid-column-end属性定义了项目的位置,它占据了从第二列开始到第三列结束的位置。
        在这个例子中,网格布局简单地创建了一个三列的布局,其中中间列占据了两列的空间。网格布局的灵活性体现在你可以轻松地调整列的大小,而无需修改项目的代码。
        总结
        前端网格布局是一种强大的布局技术,它允许开发者创建复杂的网格系统,使得页面布局更加灵活和可预测。与Flex布局相比,网格布局提供了更全面的控制,尤其是在创建复杂的多列布局时。网格布局的行和列属性使得布局设计更加直观,而Flex布局则更适合于单列的灵活布局。
        通过这个例子来展示网格布局的基本概念和语法。然后,还有 网格布局的其他高级特性,例如:
- `grid-template-areas`:允许开发者定义网格区域,并指定哪些项目应该放置在这些区域。
- `grid-auto-columns`和`grid-auto-rows`:自动创建未明确定义的行和列。
- `place-items`:一个简写属性,用于同时设置`align-items`和`justify-items`。
- `grid-template-rows`和`grid-template-columns`:用于定义网格线的名称,这在需要更复杂的布局时非常有用。
 

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

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

相关文章

基于JAVA+ springboot实现的抗疫物质信息管理系统

基于JAVA springboot实现的抗疫物质信息管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 …

SpringBoot源码

SpringBoot核心前置内容 1.Spring注解编程的发展过程 1.1 Spring 1.x 2004年3月24日&#xff0c;Spring1.0 正式发布&#xff0c;提供了IoC&#xff0c;AOP及XML配置的方式。 在Spring1.x版本中提供的是纯XML配置的方式&#xff0c;也就是在该版本中必须要提供xml的配置文件…

2024年k8s最新版本安装教程

k8s安装教程 1 k8s介绍2 环境搭建2.1 主机准备2.2 主机初始化2.2.1 安装wget2.2.2 更换yum源2.2.3 常用软件安装2.2.4 关闭防火墙2.2.5 关闭selinux2.2.6 关闭 swap2.2.7 同步时间2.2.8 修改Linux内核参数2.2.9 配置ipvs功能 2.3 容器安装2.3.1 设置软件yum源2.3.2 安装docker软…

Cloudflare Tunnel:无惧DDOS_随时随地安全访问局域网Web应用

利用此方法&#xff0c;您可以在局域网&#xff08;尤其是NAS&#xff09;上搭建的Web应用支持公网访问&#xff0c;成本低而且操作简单&#xff01; 如果这是博客的话&#xff0c;它还可以有效防止DDOS攻击&#xff01; 准备工作&#xff1a; 需要一个域名&#xff08;推荐N…

UE4开个头-简易小汽车

跟着谌嘉诚学的小Demo&#xff0c;记录一下 主要涉及到小白人上下车和镜头切换操作 1、动态演示效果 2、静态展示图片 3、蓝图-上下车

LoadBalancer (本地负载均衡)

1.loadbalancer本地负载均衡客户端 VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡&#xff0c;客户端所有请求都会交给nginx&#xff0c;然后由nginx实现转发请求&#xff0c;即负载均衡是由服务端实现的。 loadbalancer本地负载均衡&#xff0c;在调用微服务接口时候&a…

turtle绘制小猪佩奇

turtle绘制小猪佩奇 import turtle as t 使用python的turtle绘制小猪佩奇 # 设置线条粗细为4 t.pensize(4) # 使海龟不可见 #t.hideturtle() # 后续表示三原色的r,g,b必须在0~255之间 t.colormode(255) # 设置画笔颜色和填充颜色 t.color((255, 155, 192), "pink")…

单例九品--第五品

单例九品--第五品 上一品引入写在前边代码部分1代码部分2实现方式评注与思考下一品的设计思考 上一品引入 第四品中可能会因为翻译单元的链接先后顺序&#xff0c;造成静态初始化灾难的问题。造成的原因是因为存在调用单例对象前没有完成定义的问题&#xff0c;这一品将着重解…

力扣日记3.8-【回溯算法篇】37. 解数独

力扣日记&#xff1a;【回溯算法篇】37. 解数独 日期&#xff1a;2023.3.8 参考&#xff1a;代码随想录、力扣 37. 解数独 题目描述 难度&#xff1a;困难 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只…

Python 初步了解urllib库:网络请求的利器

目录 urllib库简介 request模块 parse模块 error模块 response模块 读取响应内容 获取响应状态码 获取响应头部信息 处理重定向 关闭响应 总结 在Python的众多库中&#xff0c;urllib库是一个专门用于处理网络请求的强大工具。urllib库提供了多种方法来打开和读取UR…

ViewModel

1.ViewModel的诞生与作用 Activity package com.tiger.viewmodel;import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.ViewModelProvider;import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Te…

[BUG] docker运行Java程序时配置代理-Dhttp.proxyHost后启动报错

[BUG] docker运行Java程序时配置代理-Dhttp.proxyHost后启动报错 bug现象描述 版本&#xff1a;2.0.4&#xff08;客户端和服务端都是&#xff09; 环境&#xff1a;私有云环境&#xff0c;只有少量跳板机器可以访问公网&#xff0c;其他机器均通过配置代理方式访问公网 bug现…