gpt4 book ai didi

twitter-bootstrap - 如何减慢/控制 Bootstrap 中的模态关闭动画?

转载 作者:行者123 更新时间:2023-12-04 07:46:03 26 4
gpt4 key购买 nike

如果您为模态打开设置一个 css 动画,模态将遵循该动画,但是当您关闭模态时,它会消失而不遵循动画。

我很困惑,因为 Bootstrap 文档说“当模态完成对用户隐藏时会触发此事件(将等待 CSS 转换完成)​​。” https://getbootstrap.com/docs/4.0/components/modal/

这是一个例子; https://jsfiddle.net/chaz7979/o04pxo88/3/

请注意模态框如何非常缓慢地向下滑动但立即消失。这是错误还是我遗漏了一些 CSS?

是否有错误,是否有办法使模式关闭/离开与进入页面的方式相同?

HTML

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalLong">
Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>

CSS

   .modal.fade .modal-dialog {
transition: 10s;
}

最佳答案

当他们说(将等待 CSS 转换完成)​​时,他们的意思是:它被硬编码为在关闭模式的默认硬编码持续时间后触发,< strong>你不应该弄乱它

bootstrap modal 在关闭时做的事情之一是删除 .modal-backdrop600ms 之后,这是向上滑动和淡出 .modal-dialog 所需的时间+ 淡出 .modal本身。

这只给您留下一个选择,但您需要的不仅仅是 CSS。你必须放弃使用它的默认方法关闭模态并使用你自己的函数来完成它,原则上应该:

  • 删除show来自 .modal 的类(class)
  • 删除show来自 .modal-backdrop 的类(class)
  • 删除modal-open来自 <body> 的类(class)
  • 为模态元素(.modal.modal-dialog.modal-backdrop)设置动画以让您满意
  • 地点style="display:none;".modal
  • 删除.modal-backdrop

这几乎就是 Bootstrap 所做的,除了它实际上做了更多,以提高可访问性。

关于twitter-bootstrap - 如何减慢/控制 Bootstrap 中的模态关闭动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46604859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com