Ant Design布局:Flex, Grid, Layout

文章目录

    • Flex
    • Grid
    • Layout

  • React初步
  • antd初步

任何UI工具,布局都是设计过程中必不可少的一环,前端更是如此。但网页和桌面应用还有区别,正常的网页,无论在手机还是PC上,基本都是自上而下排布的信息流,这种浏览方式对布局来说是一个限制,即很难想象一个网页提供从下到上的浏览方式。

AntD主要提供了三种布局方式,分别是弹性布局、栅格布局和规划布局,由于antd官网提供了非常友好的示例,所以下面仅用最简单的代码展示个中差异。

Flex

Flex布局就是按照指定的方向,将对应元素压入其中。下面创建一个纵向的Flex,在装入两个div之后,再装入一个横向的Flex。

import React from 'react';
import { Flex } from 'antd';const vStyle = {width: '25%',height: 54,
};const hStyle = {width: '75%',height: 54,backgroundColor : 'lightgray'
}const App = () => {return (<Flex gap="middle" vertical><div style={{...hStyle}}/><div style={{...hStyle}}/><Flex horizontal><div style={{...hStyle, backgroundColor:'#1677ff'}}/><div style={{...hStyle, backgroundColor:'#1677ffbf'}}/><div style={{...hStyle, backgroundColor:'#1677ff'}}/><div style={{...hStyle, backgroundColor:'#1677ffbf'}}/></Flex></Flex>);
};
export default App;

效果如下

在这里插入图片描述

Grid

栅格布局也很好理解,可以理解为是等分不嵌套的Flex。在AntD中,用Row和Col实现栅格布局,其布局逻辑如下

  • Row为行,Col为列,所有列都必须放在行里。
  • 栅格系统在水平方向被等分为24份,通过span可调整单个Col所跨越的范围,通过offset来调整其横向偏移。
  • 如果Row中Col的span总和超过 24,那么多余的Col会作为一个整体另起一行排列。

此外,考虑到不同设备的尺寸差异,antd提供了6种预设尺寸

xssmmdlgxlxxl
尺寸/px < 576 <576 <576 [ 576 , 768 ) [576,768) [576,768) [ 767 , 992 ) [767,992) [767,992) [ 992 , 1200 ) [992,1200) [992,1200) [ 1200 , 1600 ) [1200,1600) [1200,1600) ⩾ 1600 \geqslant1600 1600

示例如下,当浏览器的窗口尺寸不同时,红绿蓝三个色条的长度比例会发生明显变化

import React from 'react';
import { Col, Row } from 'antd';
const App = () => (<Row><Col style={{ background: 'red' }}xs={2} sm={4} md={6} lg={8} xl={10}>Col</Col ><Col style={{ background: 'green' }}xs={20} sm={16} md={12} lg={8} xl={4}>Col</Col><Col style={{ background: 'blue' }}xs={2} sm={4} md={6} lg={8} xl={10}>Col</Col></Row>
);
export default App;

Layout

可以把Layout理解为一系列布局组件的合称,除了Layout自身之外,还有四个只能被嵌套在Layout中的组件

  • Header:顶部布局
  • Sider:侧边栏
  • Content:内容部分
  • Footer:底部布局

由于Layout可以嵌套自身,所以这种布局方式十分灵活,将Layout核另外四种组件组合拼接,然后再用Layout进行嵌套,几乎可以实现任何布局方式,以下图为例,就是先让Layout与Header、Footer嵌套在一起,再向这个Layout中防止Sider与Content

在这里插入图片描述

布局代码如下

const App = () => (<Spacedirection="vertical"style={{width: '100%',}}size={[0, 48]}><Layout><Header style={headerStyle}>Header</Header><Layout hasSider><Sider style={siderStyle}>Sider</Sider><Content style={contentStyle}>Content</Content></Layout><Footer>Footer</Footer></Layout></Space>
);

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

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

相关文章

【JavaScript】封装自己的JavaScript公共工具函数,并上传到npm中 进行下载

js公共方法封装方式都有哪些 全局函数 function greet(name) {console.log("Hello, " name "!"); }greet("Alice"); // 调用全局函数对象字面量 var utils {add: function(a, b) {return a b;},subtract: function(a, b) {return a - b;}…

python爬虫进阶篇(异步)

学习完前面的基础知识后&#xff0c;我们会发现这些爬虫的效率实在是太低了。那么我们需要学习一些新的爬虫方式来进行信息的获取。 异步 使用python3.7后的版本中的异步进行爬取&#xff0c;多线程虽然快&#xff0c;但是异步才是爬虫真爱。 基本概念讲解 1.什么是异步&…

智能优化算法应用:基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.郊狼算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

第13周 预习、实验与作业:Java网络编程

目录 1 课前问题列表 1.编写一个网络程序&#xff0c;为了与其他网络程序通信&#xff0c;至少要知道对方的什么信息&#xff1f; 2.TCP与UDP协议有什么不同的呢&#xff1f;什么时候该选择哪种协议&#xff1f;HTTP使用的是TCP还是UDP&#xff1f;不重要的短信息传送之类的功能…

销售漏斗是什么?

销售漏斗是一个重要的销售管理工具&#xff0c;它可以帮助销售人员更好地管理和跟踪潜在客户。销售漏斗模型通常被广泛应用于B2B销售中&#xff0c;它可以将销售过程细分为多个阶段&#xff0c;例如潜在客户、初步沟通、方案报价、谈判和签约等。 销售漏斗有以下作用&#xff…

java继承和多态之接口

Java 中的继承和多态是非常重要的概念&#xff0c;它们是 Java 面向对象编程的核心特性。在 Java 中&#xff0c;继承是指一个类&#xff08;子类&#xff09;可以继承另一个类&#xff08;父类&#xff09;的属性和方法。多态是指一个接口或类的多种实现方式&#xff0c;它允许…

静态方法和属性的经典使用-单例设计模式

单例设计模式 一、设计模式二、单例模式1、饿汉式2、懒汉式3、区别 单例设计模式是静态方法和属性的经典使用。 一、设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱&#xff0c;不同的棋局&…

基于C#实现梳排序

为什么取名为梳&#xff0c;可能每个梳都有自己的 gap 吧&#xff0c;大梳子 gap 大一点&#xff0c;小梳子 gap 小一点。上一篇我们看到鸡尾酒排序是在冒泡排序上做了一些优化&#xff0c;将单向的比较变成了双向&#xff0c;同样这里的梳排序也是在冒泡排序上做了一些优化。 …

基于注解配置的AOP

注解方式AOP基本使用 Spring的AOP也提供了注解方式配置&#xff0c;使用相应的注解代替之前的xml配置。 xml配置&#xff1a; <aop:config> <!-- 配置切入点 目的是指定哪些方法增强--><aop:pointcut id"myPointCut1" expression"execu…

[Linux] 正则表达式及grep和awk

一、正则表达式 1.1 什么是正则表达式 正则表达式是一种用于匹配和操作文本的强大工具&#xff0c;它是由一系列字符和特殊字符组成的模式&#xff0c;用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 正则表达式和通配符的区别 正则…

Docker 概述与安装

文章目录 1. Docker简介2. 传统虚拟机和容器3. Docker运行速度快的原因4. Docker软件4.1 Docker镜像4.2 Docker容器4.3 Docker仓库 5. Docker架构6. CentOS安装Docker6.1 卸载旧版本6.2 配置yum资源库6.3 安装Docker引擎6.4 启动docker引擎6.5 设置开机自启 7. 卸载Docker8. 运…

OpenCV完结篇——计算机视觉(人脸识别 || 车牌识别)

文章目录 Haar人脸识别方法Haar识别眼鼻口HaarTesseract进行车牌识别深度学习基础知识dnn实现图像分类 Haar人脸识别方法 scaleFactor调整哈尔级联器的人脸选框使其能框住人脸 官方教程指路 每个特征都是通过从黑色矩形下的像素总和减去白色矩形下的像素总和获得的单个值 级…

代理IP可以用于哪些实际场景?遇到问题如何解决

随着互联网的普及和网络应用的广泛使用&#xff0c;代理IP已成为许多人工作和生活中不可或缺的一部分。代理IP可以用于多种实际场景&#xff0c;并在遇到问题时提供有效的解决方案。下面将详细介绍代理IP的实际应用场景及遇到问题时的解决方法。 一、代理IP的实际应用场景 1. 网…

开源运维监控系统-Nightingale(-夜莺)应用实践(未完)

一、前言 某业务系统因OS改造,原先的Zabbix监控系统推倒后未重建,本来计划用外部企业内其他监控系统接入,后又通知需要自建才能对接,考虑之前zabbix的一些不便,本次计划采用一个类Prometheus的监控系统,镜调研后发现Nightingale兼容Prometheus,又有一些其他功能增强,又…

Docker Compose;docker-compose;docker compose

(一) Docker Compose | 菜鸟教程 --> --> --> -->

ESP32-Web-Server编程-建立第一个网页

ESP32-Web-Server编程-建立第一个网页 HTTP 简述 可能你每天都要刷几个短视频&#xff0c;打开几个网页来娱乐一番。当你打开一个网络上的视频或者图片时&#xff0c;其实际发生了下面的流程&#xff1a; 其中客户端就是你的浏览器啦&#xff0c;服务器就是远程一个存放视频或…

【JAVA学习笔记】72 - 满汉楼 - 餐饮管理系统

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter26 一、需求说明 满汉楼项目功能多&#xff0c;界面复杂&#xff0c;涉及到复杂的awt和swing技术和事件编程&#xff0c;做如下调整: 1.去掉界面和事件处理(工作中使用很少)&#xff0c;使…

如何在VS2022上的MFC项目中操作Excel(VS2010、VS2012、VS2015、VS2017、VS2019使用方法一样)

先决条件 本机安装office2003、2007、2010、2016及以后版本&#xff0c;总之必须安装office导入Excel库文件&#xff0c;导入方式可参考&#xff1a; 如何在vs2017及以前版本(vs2010、vs2015)上添加 添加类型库中的MFC类如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控…

flutter布局详解及代码示例(上)

布局 基本布局 Row&#xff08;水平布局&#xff09;&#xff1a;在水平&#xff08;X轴&#xff09;方向上排列子widget的列表。Column&#xff08;垂直布局&#xff09;&#xff1a;在垂直&#xff08;Y轴&#xff09;方向上排列子widget的列表。Stack&#xff08;可重叠布…

有一种浪漫,叫接触Linux

大家好&#xff0c;我是五月。 嵌入式开发 嵌入式开发产品必须依赖硬件和软件。 硬件一般使用51单片机&#xff0c;STM32、ARM&#xff0c;做成的产品以平板&#xff0c;手机&#xff0c;智能机器人&#xff0c;智能小车居多。 软件用的当然是以linux系统为蓝本&#xff0c…