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.hqwc.cn/news/224753.html

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

相关文章

【计算机组成原理】存储系统

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理计算机组成原理中 存储系统的知识点和值得注意的地方 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以…

MSTP实验

目录 一、实验拓扑 二、实验要求 三、实验步骤 1、创建vlan 2、创建端口组&#xff0c;放通vlan 3、配置MSTP 4、配置主备奋根 一、实验拓扑 二、实验要求 1、所有交换机上创建vlan10&#xff0c;vlan20&#xff0c;vlan30和vlan40 2、所有交换机之间的端口配置为Trunk…

Linux多路转接select,poll

文章目录 目录 文章目录 一、五种IO模型 1.阻塞IO: 2.非阻塞IO 3.信号驱动IO 4.IO多路转接 5.异步IO 二、高级IO的一些重要概念 1.同步通信和异步通信 2.阻塞和非阻塞 三、其他高级IO 四、非阻塞IO 1.fctl函数 2.实现setNoBlock函数&#xff0c;将文件描述符设置…

9.Spring 整合 Redis

引入依赖&#xff1a;spring-boot-starter-data-redis配置 Redis&#xff1a;配置数据库参数、编写配置类&#xff0c;构造 RedisTemplate访问 Redis&#xff1a; redisTemplate.opsForValue() redisTemplate.opsForHash() redisTemplate.opsForList() redisTemplate.opsForSe…

干货!从容应对食品行业温湿度管理

随着科技的不断发展&#xff0c;温湿度监控技术在各行各业中的重要性日益凸显。温湿度监控系统的部署能够实现实时监测、远程控制&#xff0c;以及数据分析&#xff0c;从而帮助企业更好地理解和管理其运营环境。 客户案例 制药行业 上海某制药企业对药品生产的过程对温湿度要…

免费部署开源大模型 ChatGLM-6B

参考&#xff1a;【大模型-第一篇】在阿里云上部署ChatGLM3-CSDN博客 ChatGLM 是一个开源的、支持中英双语的对话语言模型&#xff0c;由智谱 AI 和清华大学 KEG 实验室联合发布&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。ChatGLM3-6B 更…

AIGC系列之:CLIP和OpenCLIP

目录 模型背景 CLIP模型介绍 相关资料 原理和方法 Image Encoder Text Encoder 对比学习 预训练 Zero Shot预测 优势和劣势 总结 OpenClip模型介绍 相关资料 原理 结果 用法 模型总结 模型背景 Stable Diffusion主要由三个核心模块组成&#xff1a; Text Enc…

nodejs+vue+elementui足球篮球联赛系统

系统主要是以后台管理员管理为主。管理员需要先登录系统然后才可以使用本系统&#xff0c;管理员可以对个人中心、用户管理、赛事信息管理、球队信息管理、球员信息管理、比赛分值板管理、系统管理等进行添加、查询、修改、删除&#xff0c;以保障足球联赛管理系统的正常运行。…

JOSEF电流继电器 DL-33 整定范围0.5-2A 柜内安装板前接线

系列型号&#xff1a; DL-31电流继电器; DL-32电流继电器; DL-33电流继电器; DL-34电流继电器; 一、用途 DL-30系列电流继电器用于电机保护、变压器保护和输电线的过负荷和短路保护线路中&#xff0c;作为起动元件。 二、结构和原理 继电器系电磁式&#xff0c;瞬时动作…

Docker可视化工具Portainer(轻量)或者Docker容器监控之 CAdvisor+InfluxDB+Granfana(重量)

Docker轻量级可视化工具Portainer 是什么 Portainer 是一款轻量级的应用&#xff0c;它提供了图形化界面&#xff0c;用于方便地管理Docker环境&#xff0c;包括单机环境和集群环境。 安装 官网 https://www.portainer.io/ https://docs.portainer.io/v/ce-2.9/start/instal…

C语言:写一个函数,实现3*3矩阵的转置(指针)

分析&#xff1a; 在主函数 main 中&#xff0c;定义一个 3x3 的整型数组 a&#xff0c;并定义一个指向整型数组的指针 p。然后通过循环结构和 scanf 函数&#xff0c;从标准输入中读取用户输入的 3x3 矩阵的值&#xff0c;并存储到数组 a 中。 接下来&#xff0c;调用 mov…

理解DALL-E 2

1.简介 DALL-E 2的效果想必大家都已经很清楚了&#xff0c;效果是非常惊人的&#xff0c;该篇文章就是讲一下DALL-E 2的原理是什么。 2.方法 DALL-E 2的原理不难理解&#xff0c;前提是你知道CLIP。简单来说&#xff0c;CLIP是一个由文本和图片多模态训练的一个zero-shot模型…