如何制作模态全屏?

Con*_*der 7 bootstrap-4 bootstrap-vue

我正在尝试制作一个 bootstrap vue 模态全屏。我应该覆盖哪些 css 类,我想在将使用此模式的组件中以范围样式执行此操作。

bro*_*lyt 10

您想要编辑.modal-dialog和强制尺寸。

示例 CSS:

.modal-dialog {
    max-width: 100%;
    margin: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    display: flex;
}
Run Code Online (Sandbox Code Playgroud)

另外为了让这个在 vue.js 中工作。您可以尝试向 b-modal 添加一个类并尝试如下操作:

<div>
  <b-button v-b-modal.modal1>Launch demo modal</b-button>

  <!-- Modal Component -->
  <b-modal class="test-modal" id="modal1" title="BootstrapVue">
    <p class="my-4">Hello from modal!</p>
  </b-modal>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.test-modal .modal-dialog {
    max-width: 100%;
    margin: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    display: flex;
    position: fixed;
    z-index: 100000;
}
Run Code Online (Sandbox Code Playgroud)


dav*_*v0r 6

扩展已接受的答案,要通过将类应用于外部模态 div 来在本地应用此问题,您需要使用modal-class组件上的属性,而不是像通常那样为其提供一个类。

https://bootstrap-vue.org/docs/components/modal#variants

JS:

<b-modal modal-class="modal-fullscreen">
    ...
</b-modal>
Run Code Online (Sandbox Code Playgroud)

CSS:

.modal-fullscreen .modal-dialog {
    max-width: 100%;
    margin: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    display: flex;
    position: fixed;
    z-index: 100000;
}
Run Code Online (Sandbox Code Playgroud)