当前位置: 首页 > news >正文

使用ant design的modal时,发现自定义组件的样式(组件高度)被改变了!

一 问题描述

        在项目中,自定义了一个组件,分别在界面和 antd的modal中都有使用到。但是突然发现,界面中的组件样式跟modal中的组件样式高度不一样。modal中的组件整体要比页面中的组件要高一点。

        项目中的自定义组件比较复杂,因此,自己写了一个简单的测试功能,如下所示:

如上图,可以看到,常规div的样式整体比modal中的div要矮一点(差别不是特别大)。

二 问题原因

       测试程序比较简单,因此可以很容易发现是行高不一致导致的。查了antd官网才看到,antd的modal中的文本自己设置了行高(lineHeight),因此modal中的组件会整体高一些(antd官网上,modal的默认文本行高为1.5714285714285714)。而自己自定义的组件中没有设置文本行高。这就是导致组件高度在html和modal中不一致的根本原因。

三 解决办法 

        给自定义组件文本添加固定的行高(lineHeight)。

四 测试代码如下 

import React, {useState} from "react";
import {Button, Divider, Modal} from "antd";export default () => {const [open, setOpen] = useState(false);const testDiv = <divstyle={{color: "white",width: 200,backgroundColor: "rgba(51, 119, 255, 1)",fontSize: 14,lineHeight: 1}}>这是一行用于测试的文字</div>return (<div style={{height: 820, padding: 20}}><Button type={"primary"} onClick={() => setOpen(true)}>打开弹窗</Button><Divider/><div>{testDiv}</div><Modal open={open} onCancel={() => setOpen(false)}>{testDiv}</Modal></div>);
}

 

http://www.lryc.cn/news/419298.html

相关文章:

  • NLP从零开始------8文本进阶处理之文本向量化
  • 【网络编程】字节序,IP地址、点分十进制、TCP与UDP的异同
  • 关于k8s的pvc存储卷
  • 【物联网设备端开发】ESP开发工具:QEMU的使用方法
  • c++中std::endl 和“\n“ 这两个换行符有什么区别
  • http中get和post怎么选
  • 数据分析及应用:快手直播间人员在线分析
  • 【Python】nn.nn.CircularPad1、2、3d函数和nn.ConstantPad1、2、3d函数详解和示例
  • LearnOpenGL——混合、面剔除
  • 视频网站为何热衷于SCDN
  • Redis与DataBase保持数据一致性
  • 解决 MacOS 连接公司 VPN 成功但是不能网络的问题
  • 【Kubernetes】k8s集群之Pod容器资源限制和三种探针
  • 从古代驿站体系看软件安全管控@安全历史04
  • 8.8 哈希表简单 1 Two Sum 141 Linked List Cycle
  • 动态规划之——背包DP(完结篇)
  • Advanced IP Scanner - 网络扫描工具介绍
  • 数据库事务的四大特性ACID
  • ELK架构介绍
  • Vscode下ESP32工程函数定义无法跳转
  • liquibase.exception.LockException: Could not acquire change log lock.
  • 【多线程-从零开始-捌】阻塞队列,消费者生产者模型
  • 数据结构——栈(Stack)
  • 修改pom.xml为阿里云仓库并且让他生效
  • step13:qml/qt程序打包
  • 招聘求职小程序
  • 10分钟学会docker安装与使用
  • vue3、uniapp-vue3模块自动导入
  • Ubantu设置国内镜像(阿里云、华为云)
  • Redis远程字典服务器(3)——常用数据结构和单线程模型