当前位置: 首页 > 面试题库 >

如何根据内容动态调整Twitter Bootstrap模式的大小

范承望
2023-03-14
问题内容

我有数据库内容,其中包含不同类型的数据,例如Youtube视频,Vimeo视频,文本,Imgur图片等。它们的高度和宽度都不同。我在搜索互联网时发现的所有内容都将大小更改为仅一个参数。它必须与弹出窗口中的内容相同。

这是我的HTML代码。我也使用Ajax来调用内容。

<div id="modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="ModalLabel"></h3>
    </div>
    <div class="modal-body">

    </div>
</div>

问题答案:

由于您的内容必须是动态的,因此可以在模态show事件发生时动态设置模态的css属性,这将调整模态的大小,从而覆盖其默认规格。被引导的原因是使用css规则将最大高度应用于模态主体,如下所示:

.modal-body {
    position: relative;
    overflow-y: auto;
    max-height: 400px;
    padding: 15px;
}

因此,您可以使用jquery css方法动态添加内联样式:

对于较新版本的引导程序,请使用 show.bs.modal

$('#modal').on('show.bs.modal', function () {
       $(this).find('.modal-body').css({
              width:'auto', //probably not needed
              height:'auto', //probably not needed 
              'max-height':'100%'
       });
});

对于旧版本的引导程序使用 show

$('#modal').on('show', function () {
       $(this).find('.modal-body').css({
              width:'auto', //probably not needed
              height:'auto', //probably not needed 
              'max-height':'100%'
       });
});

或使用CSS规则覆盖:

.autoModal.modal .modal-body{
    max-height: 100%;
}

并将此类添加autoModal到您的目标模态。

在小提琴中动态更改内容,您将看到模态相应地调整大小。 [Demo](http://jsfiddle.net/GDVdN/)

较新版本的bootstrap请参阅可用的event names

  • show.bs.modal 调用show实例方法时,将立即触发此事件。如果是由单击引起的,则clicked元素可用作事件的relatedTarget属性。
  • shown.bs.modal 当模态对用户可见时将触发此事件(将等待CSS转换完成)​​。如果是由单击引起的,则clicked元素可用作事件的relatedTarget属性。
  • hide.bs.modal 调用hide实例方法后,立即触发此事件。
  • hidden.bs.modal 模态已向用户隐藏(当等待CSS转换完成时),将触发此事件。
  • load.bs.modal 当模态使用remote选项加载了内容时,将触发此事件。

[modal events](http://twitter.github.io/bootstrap/javascript.html#modals)支持较旧版本的引导程序。

  • Show- 调用show实例方法时,立即触发此事件。
  • 显示 -当模式对用户可见时将触发此事件(将等待CSS转换完成)​​。
  • hide- 调用hide实例方法后,立即触发此事件。
  • hidden- 模态已向用户隐藏完成时将触发此事件(将等待CSS转换完成)​​。


 类似资料:
  • 问题内容: 我正在开发类似iGoogle的应用程序。使用iframe显示其他应用程序(在其他域上)的内容。 如何调整iframe的大小以适合iframe内容的高度? 我试图破译Google使用的javascript,但它被混淆了,到目前为止,在网络上搜索毫无结果。 更新: 请注意,内容是从其他域加载的,因此适用同源策略。 问题答案: 我们遇到了这类问题,但与您的情况略有不同我们向其他域上的网站提供

  • 问题内容: 在以Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小? 加载视图时以及用户键入时,文本字段将根据需要调整大小以适合其内容。 理想情况下,文本字段将在某个点(例如6行)处停止调整大小,并变为可滚动。 问题答案: 您必须使用而不是。 然后,您可以使用该方法。 但是首先,您必须知道一条线的高度。您可以使用以下方法获取该信息: 之后,只需在方法内部调用方

  • 我想调整SVG元素的尺寸以适应其内容。 JSfiddle:http://jsfiddle.net/4pD9N/ 这里我有一个例子。SVG应该“收缩”以适应每边10像素的元素边距。换句话说:我想为未使用的空间裁剪svg... 我知道我必须使用getBBox。但是我如何计算总宽度和总高度呢?

  • 我在我的项目中使用具有自动布局的情节提要(XCode 6.3),起诉大小类Wcompact h规则。我无法根据内容动态设置 UITableView 标头的高度。

  • 我正在编写一个JavaFX程序,制作一个随机颜色的网格。当调整窗口大小时,网格应该调整到尽可能大,同时仍然保持正方形,并在底部为文本留出空间。 一切工作正常,但我遇到的问题是,当调整GridPane的大小时,它会留下一些空隙。调整窗口大小时,间隙的大小会略有变化。有人能帮我找出如何消除这些差距吗?我包括完整的代码。它不太长。谢谢你。

  • 问题内容: 我需要一个textarea,在框中输入文字,它会根据需要增加长度,以避免必须处理滚动条,并且在删除文本后需要缩小!我不想沿着mootools或jquery路线走,因为我有一个轻量级的表单。 问题答案: 您可以通过设置为,然后读取属性来检查内容的高度: 它可以在Firefox 3,IE 7,Safari,Opera和Chrome下运行。