IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> react如何自定义Ant Design对话框Modal的样式 -> 正文阅读

[JavaScript知识库]react如何自定义Ant Design对话框Modal的样式

一、效果展示:

在这里插入图片描述

二、具体实现:

?1. 在官方api中写到,可以为Modal添加类名,那这样就可以通过类选择器给对话框设置样式了

在这里插入图片描述

?2. 再来看一下Modal的结构、整个页面的class是ant-modal-content

?ruge

?在DevTools中选中对话框,可以看到整个Modal由header、body、footer,还有右上角的叉叉构成
?以及他们 对应的类名
在这里插入图片描述

?3. 去掉header(即title)和footer
?这里不需要通过类名去设置样式,可以直接在< Modal >标签里设置 title={null} footer={null}
?效果是这样的
? 在这里插入图片描述

?4. 修改body样式
?在这里我们为Modal定义一个类名 wrapClassName={‘weipay’}
?注意:这里子元素body和父元素content大小一致

?根据需求,需要给body设置边框圆角以及背景图片
?就可通过wrapClassName以及ant-modal-content、ant-modal-body来修改样式

?过程是这样的
?先为body添加上背景图
?在这里插入图片描述

?然后设置圆角,这里可以看到背景即父元素content是白色的
?在这里插入图片描述

?将背景设为透明
?在这里插入图片描述

三、详细代码

Ps:上面展示部分是直接在antd官网修改的,下面的代码是文章开头的那张图片的实现

js部分

<Modal
   width='1000px'
   title={null}
   footer={null}
   visible={visible}
   onOk={this.hideModal}
   onCancel={this.hideModal}
   maskClosable={false} //点击蒙版不允许关闭,防止误触
   wrapClassName={'weipay'} //为对话框设置类名,用来修改modal样式
>
   <div maxWidth={1000}>
       <div style={{ height: 360, padding: '30px' }} >
           <Row>
              <Col xl={16}>
                 <div className='leftintro'>
                   <p style={{ fontSize: '22px', marginTop: '17%', color: '#eee' }}>请扫描二维码进行会员认证,支付成功后完成注册</p>
                   <div style={{ margin: '0 auto' }}>
                     <p style={{ fontSize: '18px', marginTop: '10%', marginLeft: '13%', color: '#eee' }}>请在<span style={{ fontSize: '20px', color: 'red' }}>&nbsp;30&nbsp;</span>秒内完成支付,否则需要重新提交</p>
                   </div>
                 </div>
              </Col>
              <Col xl={8} >
                 <QRCode
                   value={qrcode}
                   size={200} //二维码的宽高尺寸
                   fgColor="#000"  //二维码的颜色
                 />
                 <div style={{ width: 240, height: 100, marginTop: '14%', marginLeft: '24%' }}>
                   <div style={{ width: 60, height: 60, float: 'left', marginTop: '4%' }} className='wxlogo'></div>
                   <div style={{ width: 160, height: 160, float: 'left', marginTop: '-17%' }} className='wcp'></div>
                 </div>
              </Col>
           </Row>
       </div>
   </div>
</Modal>

css部分

.weipay .ant-modal-content {
    background-color: rgb(0, 0, 0, 0); /* 将背景设置为透明 */
}
.weipay .ant-modal-body {
    background-image: url("../../../../../../public//pic//weipay.png");
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 30px;
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章           查看所有文章
加:2022-07-20 18:43:07  更:2022-07-20 18:47:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 12:31:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码