点此查看 所有教程、项目、源码导航

本文目录

  • 1. 概述
  • 2. 模态框样式
  • 3. 按钮直接关联模态框
  • 4. 通过JS方法打开/关闭模态框
  • 5. 调整大小
  • 6. 动画效果
  • 7. 小结

1. 概述

模态框这个名字有点高雅了,其实就是对话框,用来弹出一个新的界面。

模态框的使用非常的场景,例如在用户管理页面,当进行用户新增时,可以点击新增按钮,弹出一个窗体供填入用户信息然后保存。

注意Bootstrap的模态框一次只能显示一个,不能在打开一个模态框后尝试继续打开第二个。

2. 模态框样式

模态框相关的样式类比较多,我个人是感觉有些过于复杂了,当然这里也不排除Bootstrap开发人员有意为之,毕竟复杂之后拓展时就更加容易。

我们直接来看一个示例:

             <!-- 模态框 --><div class="modal" id="myModal"><!-- 模态的对话框 --><div class="modal-dialog"><!-- 内容部分 --><div class="modal-content"><!-- 头部 --><div class="modal-header"><button type="button" class="close" data-dismiss="modal"aria-hidden="true">&times;</button><h4 class="modal-title">标题</h4></div><!-- 身体 --><div class="modal-body">内容</div><!-- 尾部 --><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">关闭</button><button type="button" class="btn btn-primary">保存</button></div></div></div></div>

需要注意的是,大多数情况下,我们只需要调整标题、内容和尾部的按钮即可。

另外模态框默认是不显示的,需要触发后显示。

3. 按钮直接关联模态框

可以将按钮设置为点击后切换模态框状态,代码如下:

                 <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">打开模态框</button>

当点击按钮后,就会打开id为myModal的模态框,效果如下:

此时点击标题右上角的x,或者点击关闭按钮即可关闭当前模态框。

4. 通过JS方法打开/关闭模态框

通过按钮打开模态框的方式比较死板,因为大多数情况下,我们在打开模态框之前需要进行条件判断/数据加载相关工作。

此时我们可以通过JS方法控制模态框,常用的方法有3个。

  1. $('#myModal').modal('show'):打开模态框
  2. $('#myModal').modal('hide'):关闭模态框
  3. $('#myModal').modal('toggle'):切换模态框的状态

假设我们通过按钮打开模态框则代码如下:

                 <button type="button" class="btn btn-primary" onclick="btnOpenModal()">JS打开模态框</button><script>function btnOpenModal() {$('#myModal').modal('toggle');}</script>

点击按钮后即可打开模态框。

5. 调整大小

可以为modal-dialog类修饰的元素追加modal-lgmodal-sm类,将显示大号的或者小号的模态框,根据具体显示的内容调整即可。

6. 动画效果

在某些较低性能的设备,或者某些浏览器上,弹出模态框时的动画效果会导致页面卡顿,用户体验较差。

但是大部分设备,增加动画效果后,会更加的高端大气上档次。

可以为.modal修饰的元素添加.fade类,这样模态框弹出时会自带动画效果。

7. 小结

模态框使用非常常见,Bootstrap模态框样式还是比较大气的,模态框的body部分可以放置各种各样的内容。

另外对于Bootstrap模态框的动画效果,我个人建议慎用,毕竟还是要先追求稳定。

零基础Bootstrap入门教程(16)--模态框相关推荐

  1. 零基础Bootstrap入门教程(0)--教程背景与目录

    点此查看 所有教程.项目.源码导航 本文目录 1. 背景 2. 教程目录 3. 源码下载 1. 背景 在学习完成HTML/CSS/JS/jQuery零基础入门教程后,自然而然我们要进入Bootstra ...

  2. 零基础Bootstrap入门教程(9)--使用表单控件

    点此查看 所有教程.项目.源码导航 本文目录 1. 概述 2. 基本输入控件 3. 调整表单控件的大小 4. 表单控件的特殊用法 4.1 单选框用法 4.2 复选框用法 5. 小结 1. 概述 表单控 ...

  3. 零基础Bootstrap入门教程(26)–轮播的实现

    点此查看 所有教程.项目.源码导航 本文目录 1. 概述 2. 基本轮播 3. 添加轮播指示器 4. 添加轮播控件 5. 小结 1. 概述 要想从头到尾来实现一个比较好看且稳定的轮播控件,还是有一定难 ...

  4. 零基础Bootstrap入门教程(4)--开发标准的响应式网页

    点此查看 所有教程.项目.源码导航 本文目录 1. 背景 2. 创建标准HTML5页面 3. 添加响应式内容 4. 小结 1. 背景 响应式网页指的是可以在不同尺寸/分辨率设备下都可以运行良好的网页, ...

  5. 零基础Bootstrap入门教程(25)--折叠面板、折叠面板导航

    点此查看 所有教程.项目.源码导航 本文目录 1. 概述 2. 折叠面板 3. 折叠面板导航 4. 小结 1. 概述 上一篇我们讲述了折叠插件的用法,可以将任意的div元素包含的内容进行动态的折叠/显 ...

  6. 零基础CSS入门教程(16)–内边距

    点此查看 所有教程.项目.源码导航 本文目录 1. 前言 2. 默认情况 3. 设置内边距 4. 简写属性 5. 小结 1. 前言 上一篇介绍了外边距,也就是元素跟相邻元素的距离. 本篇来介绍内边距, ...

  7. 零基础SSM入门教程(0)--教程背景与目录

    点此查看 零基础JavaWeb全栈文章目录及源码下载 1. 背景 本教程的出发点是写一个比较条理,比较全面的SSM系列教程,首先造福自己.理顺自己的知识体系,然后也造福大众,因为网上现存的资源相对比较 ...

  8. 零基础CSS入门教程(1)–初识CSS

    点此查看 所有教程.项目.源码导航 本文目录 1. 前言 2. HTML与CSS区别 3. CSS有哪些功能 4. 如何学习CSS 1. 前言 学习CSS是离不开HTML的,HTML是CSS的基础,如 ...

  9. 零基础JavaScript入门教程(1)–走进JavaScript的世界

    点此查看 所有教程.项目.源码导航 本文目录 1. 前言 2. JS的历史 3. JS的地位 4. JS与HTML.CSS的区别 5. JS是真正的编程语言 6. JS的组成部分 7. 小结 1. 前 ...

最新文章

  1. Linux环境下Redis集群实践
  2. 【参会指南】神策 2020 数据驱动用户大会,10 月 13 日将重磅开幕!
  3. 停课不停学,优酷直播如何将网课点名延迟降到0.6s?
  4. matlab调用哈希表,ros与matlab联动使用
  5. 怎么在html的img src=src的值这里调用js方法或变量获取图片地址
  6. LeetCode(965)——单值二叉树(JavaScript)
  7. 南京工业大学 乐学python_[紫金山乐学帮]南工大研究出新型智能吸附剂,能大大降低能耗...
  8. html5页面左右框架布局代码,网页布局框架(示例代码)
  9. 中国网络游戏界十大雷囧现象
  10. Discuz仿魔客吧模板/素材资源站模板/包含DIY文件
  11. Photoshop 7.0使用教程
  12. tsx实现适配vue3的滚动列表插件
  13. 响铃:揭底滴滴们跨界营销“真相”,再教你玩一出好戏
  14. 加密货币工具和算法大合集
  15. 浅谈 「现代 Web 开发」 范式
  16. 基于瞬时功率理论的APF的SIMULINK模型
  17. PE市盈率们之间的区别
  18. 数仓服务平台在唯品会的建设实践
  19. LeetCode题解(0625):最小因式分解(Python)
  20. LuceneElasticSeachKafka

热门文章

  1. 中基鸿业投资理财好习惯
  2. python获取pdf页数_Python分割指定页数的pdf文件方法
  3. Java面试题及答案2019版(下),mysql事务隔离级别原理
  4. 计算机云计算服务外包,云计算上的三类外包计算
  5. Introduction to Graph Neural Network(图神经网络概论)翻译:目录总览
  6. 微信这几个好用的功能,你该知道
  7. android实现高德地图集成
  8. The resource identified by this request is only capable of generating respon
  9. 程序员的进化 - 在拉勾1024程序员节上的演讲
  10. 语法糖(Syntactic sugar)/ 语法盐(syntactic salt)