章节
问答
课签
笔记
评论
占位
占位

模态弹出框--实现原理解析(二)

蒙板样式实现:

大家或许注意到了,在做模态弹出窗时,底部常常会有一个透明的黑色蒙层效果,如下图所示:

在Bootstrap框架中为模态弹出窗也添加了一个这样的蒙层样式“modal-backdrop”,只不过他默认情况下是全屏黑色的:

/*bootstrap.css文件第5424行~第5432行*/
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}

同样,给其添加了一个过渡动画,从fade到in,把opacity值从0变成了0.5。上图展示的就是in状态下的效果:

/*bootstrap.css文件第5433行~第5440行*/
.modal-backdrop.fade {
  filter: alpha(opacity=0);
  opacity: 0;
}
.modal-backdrop.in {
  filter: alpha(opacity=50);
  opacity: .5;
}

两种尺寸选择:

除此之外,Bootstrap框架还为模态弹出窗提供了不同尺寸,一个是大尺寸样式“modal-lg”,另一个是小尺寸样式“modal-sm”。其结构上稍做调整:

<!-- 大尺寸模态弹出窗 -->
<div class="modal fade bs-example-modal-lg" tabindex="-1"role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
    <divclass="modal-dialog modal-lg">
       <divclass="modal-content"> ... </div>
    </div>
</div>
<!-- 小尺寸模态弹出窗 -->
<divclass="modal fade bs-example-modal-sm"tabindex="-1"role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
    <divclass="modal-dialog modal-sm">
       <divclass="modal-content"> ... </div>
    </div>
</div>

来简单的看一个示例效果:

对于这两种尺寸的模态弹出窗,Bootstrap在媒体查询中做过处理:代码同上见bootstrap.css

任务

我来试试:在右侧补充代码,把右侧弹出窗修改为“小尺寸”

?不会了怎么办
||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 素小暖
<div class="modal-dialog" style="width:1100px"> 

最新回答 / LoveDoraemon
这个是用来遮住弹出框背后的所有内容吧,

最新回答 / iamjoan
谢谢大神

最新回答 / qq_伊璐_0
因为bootstrap中需要另外使用jquery的技术,所以要先引入jquery再引入bootstrap

最新回答 / qq_馒头_29
指定弹出那个弹出框

最新回答 / 鱼七
bootstrap.js第1109行<...code...>

已采纳回答 / 赤松子_明
tabindex=-1代表此元素禁止使用键盘上的tab键对其导航,就是按tab键的时候,会跳过这个divrole=“dialog”代表这是一个对话框aria-labelledby:是残障人士使用屏幕阅读器时,会读取的内容aria-hidden:是使用屏幕阅读器时,忽略该元素值

最赞回答 / Hallz
modal-backdrop这层是body的直接子元素 把代码收缩下就能看到了

最赞回答 / FianeHsu
<...code...>对应的按钮“触发”对应的模态弹窗

最新回答 / 慕设计8442914
点击右上角的全屏,就可以看到效果

已采纳回答 / FianeHsu
<...code...>data-backdrop默认值是"true",把值换成"static",点击任意地方就不能关闭弹窗了

已采纳回答 / Perona
有的,有用JS滴。可以把这行代码删去,就会发现没特效了。<...code...>实现原理建议去看bootstrap.min.js源码。

最赞回答 / 迷茫兔
这个是用js的dom操作实现的,你可以右键点开查看元素,当你点击按钮之后,通过js代码加上了一个div层,并给他加了一个class="modal-backdrop"的样式,关闭之后又会删除这个div。你可以自己试试哦!
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言