【React+Typescript+Antd】界面框架布局——Layout布局+ Grid栅格
时间:2022-07-24
本文章向大家介绍【React+Typescript+Antd】界面框架布局——Layout布局+ Grid栅格,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
【React+Typescript+Antd】界面框架布局是页面的骨架,骨架搭好了,之后就是细枝末节的填充。
新手上路,拿到项目的第一步就是画界面,但是对于复杂的页面如何能够做到页面架构清晰又不互相干扰呢?
Antd的Layout布局能够很好地解决这个问题。
它定义了Header(页头)、Content(内容)、Footer(页脚)、Sider(导航)等页面整体框架结构。你可以在这个框架结构基础上,再结合Antd的Grid栅格布局,几乎可以应付所有复杂的页面。
之前我不理解为什么官方把Grid栅格和Layout布局放在一块,现在才发现,他们只有配合使用才能发挥出更大的作用。
下面是我页面的布局:
像类似这样的页面,就需要用到Layout布局下的所有组件:Header、Content、Footer、Sider,在Content里面需要运用Grid里的Row+Col(24栅格)来调整大体上的左右布局。
到这里整体架构就形成了,最后将每个板块作为组件依次导入即可。
Content里的页面代码如下:
import React from "react";
import "./MainPage.css";
import { Layout, Row, Col } from "antd";
import MainHeader from "./MainHeader";
import PanelMain from "./PanelMain";
import PanelLint from "./PanelLint";
import PanelAutoTest from "./PanelAutoTest";
import PanelCommit from "./PanelCommit";
import PanelCodeReview from "./PanelCodeReview";
import PanelMember from "./PanelMember";
const { Header, Content, Footer, Sider } = Layout;
class MainPage extends React.Component<any> {
render() {
return (
<Layout className="body">
<Header className="header" style={{ background: '#fff', padding: 0, height: 152 }}>
<MainHeader />
</Header>
<Content style={{ background: 'none', padding: 0, margin: 24 }}>
<div className="content">
<Row >
<Col span="16">
<div className="main-left">
<PanelMain jumpFunc={this.props.jumpFunc} />
</div>
<div className="main-left">
<PanelLint />
</div>
<div className="main-left">
<PanelAutoTest />
</div>
</Col>
<Col span="8" className="cloumn">
<div className="main-right">
<PanelCommit />
</div>
<div className="main-right">
<PanelCodeReview />
</div>
<div className="main-right">
<PanelMember />
</div>
</Col>
</Row>
</div>
</Content>
</Layout>
);
}
}
export default MainPage;
注:Antd组件对于样式修改有一定局限性,新增class添加样式并不能起作用,一些常用属性(如:height、width、padding等)需要通过行内style样式才能生效。
以上就是页面布局的内容,欢迎留言交流。
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
- C#全角和半角转换
- 浅谈Scala在大数据处理方面的优势
- 利用mybatis-generator自动生成代码
- 微信年终放大招!小程序再次升级,这个功能超想要!
- WordPress 中禁止文章自动保存和修订版本的方法
- 第一届机器人学习大会总结
- Hadoop: MapReduce2的几个基本示例
- 使用 nRoute 框架来实现基于 Silverlight 的桌面应用
- oracle:如何用sql生成日历
- 极品双拼“马仔”mazai.com易主终端
- Hadoop:pig 安装及入门示例
- 区块链时代即将到来 它将如何改变我们的工作和生活
- 架设ftp反向代理服务器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在laravel框架中使用model层的方法
- 漂亮的thinkphp 跳转页封装示例
- thinkphp5框架前后端分离项目实现分页功能的方法分析
- laravel 根据不同组织加载不同视图的实现
- 详解将数据从Laravel传送到vue的四种方式
- Laravel实现ApiToken认证请求
- laravel 实现划分admin和home 模块分组
- laravel在中间件内生成参数并且传递到控制器中的2种姿势
- 在laravel框架中实现封装公共方法全局调用
- laravel通过a标签从视图向控制器实现传值
- 在Laravel 的 Blade 模版中实现定义变量
- 解决Laravel5.5下的toArray问题
- Laravel基础_关于view共享数据的示例讲解
- 解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
- 解决laravel资源加载路径设置的问题