ئاساسلىق مەزمۇنغا ئاتلاڭ Docs يول باشلاش
Check

Bootstrap نىڭ JavaScript مودېل قىستۇرمىسىنى ئىشلىتىپ تور بېتىڭىزگە نۇر ساندۇقى ، ئىشلەتكۈچى ئۇقتۇرۇشى ياكى پۈتۈنلەي ئىختىيارى مەزمۇن ئۈچۈن دىئالوگ قوشۇڭ.

قانداق ئىشلەيدۇ

Bootstrap نىڭ مودېل زاپچاسلىرىنى باشلاشتىن بۇرۇن ، تىزىملىك ​​تاللانمىلىرىمىزنىڭ يېقىندا ئۆزگەرگەنلىكى ئۈچۈن تۆۋەندىكىلەرنى ئوقۇڭ.

  • مودېللار HTML ، CSS ۋە JavaScript بىلەن ياسالغان. ئۇلار ھۆججەتتىكى باشقا نەرسىلەرنىڭ ھەممىسىگە ئورۇنلاشتۇرۇلغان بولۇپ <body>، مودېل مەزمۇنى ئۇنىڭ ئورنىغا ئۆرۈلۈپ كېتىدۇ.
  • مودېل «ئارقا كۆرۈنۈش» نى باسسىڭىز مودېلنى ئاپتوماتىك تاقايدۇ.
  • Bootstrap بىرلا ۋاقىتتا بىرلا مودېل كۆزنەكنى قوللايدۇ. ئۇلانغان مودېللارنى قوللىمايدۇ ، چۈنكى بىز ئۇلارنى ناچار ئىشلەتكۈچى تەجرىبىسى دەپ قارايمىز.
  • مودېللار ئىشلىتىلىدۇ position: fixed، بۇ ئۇنىڭ كۆرسىتىلىشىدە بەزىدە سەل ئالاھىدە بولۇشى مۇمكىن. ئىمكانقەدەر مودېل HTML نى يۇقىرى قاتلامغا قويۇپ ، باشقا ئېلېمېنتلارنىڭ ئارىلىشىشىدىن ساقلىنىڭ. .modalباشقا مۇقىم ئېلېمېنتنىڭ ئىچىگە ئۇۋا قويغاندا مەسىلىگە يولۇقۇشىڭىز مۇمكىن .
  • يەنە بىر قېتىم ، سەۋەبىدىن ، position: fixedكۆچمە ئۈسكۈنىلەردە مودېل ئىشلىتىش ئارقىلىق بەزى ئۆڭكۈرلەر بار. تەپسىلاتىنى تور كۆرگۈمىزنىڭ قوللاش ھۆججىتىدىن كۆرۈڭ.
  • HTML5 نىڭ مەنىسىنى قانداق ئېنىقلىغانلىقى ئۈچۈن ، autofocusHTML خاسلىقىنىڭ Bootstrap مودىلىدا ھېچقانداق رولى يوق. ئوخشاش ئۈنۈمگە ئېرىشىش ئۈچۈن ، بىر قىسىم خاس JavaScript نى ئىشلىتىڭ:
const myModal = document.getElementById('myModal')
const myInput = document.getElementById('myInput')

myModal.addEventListener('shown.bs.modal', () => {
  myInput.focus()
})
بۇ زاپچاسنىڭ كارتون ئۈنۈمى prefers-reduced-motionمېدىيا سوئالىغا باغلىق. قولايلىق ھۆججەتلىرىمىزنىڭ قىسقارتىلغان ھەرىكەت بۆلىكىنى كۆرۈڭ .

كۆرسەتمە ۋە ئىشلىتىش قوللانمىلىرىنى داۋاملىق ئوقۇپ بېقىڭ.

مىساللار

تۆۋەندىكىسى تۇراقلىق مودېل مىسالى (ئۇنىڭ مەنىسى positionۋە displayقاپلاپ كەتتى). بۇنىڭ ئىچىدە مودېل ماۋزۇ ، مودېل گەۋدە (تەلەپ قىلىنىدۇ padding) ۋە مودېل بەت ئاستى (ئىختىيارىي) بار. ئىمكانقەدەر ئىشتىن بوشىتىش ھەرىكەتلىرى بىلەن مودېل ماۋزۇلارنى قوشۇشىڭىزنى ياكى باشقا ئوچۇق-ئاشكارە ئىشتىن بوشىتىش ھەرىكىتىنى تەمىنلىشىڭىزنى سورايمىز.

<div class="modal" tabindex="-1">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        <p>Modal body text goes here.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Live demo

تۆۋەندىكى كۇنۇپكىنى بېسىش ئارقىلىق خىزمەت مودىلىنى كۆرسەت. ئۇ سىيرىلىپ بەتنىڭ ئۈستىدىن سۇسلاپ كېتىدۇ.

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

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

تۇراقلىق ئارقا كۆرۈنۈش

ئارقا كۆرۈنۈش تۇراقلىق ھالەتكە تەڭشەلگەندە ، ئۇنىڭ سىرتىنى چەككەندە مودېل تاقالمايدۇ. تۆۋەندىكى كۇنۇپكىنى چېكىپ سىناپ بېقىڭ.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
  Launch static backdrop modal
</button>

<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Understood</button>
      </div>
    </div>
  </div>
</div>

ئۇزۇن مەزمۇننى ئۆرۈش

مودېللار ئىشلەتكۈچىنىڭ كۆرۈش ئېغىزى ياكى ئۈسكۈنىسى ئۈچۈن بەك ئۇزۇن بولۇپ كەتسە ، ئۇلار بەتنىڭ ئۆزىدىن مۇستەقىل سىيرىلىدۇ. بىزنىڭ نېمە دېمەكچى بولغانلىقىمىزنى تۆۋەندىكى كۆرسەتمىنى سىناپ بېقىڭ.

.modal-dialog-scrollableسىز قوشۇش ئارقىلىق مودېل گەۋدىسىنى سىيرىغىلى بولىدىغان ئايلانما مودېل قۇرالايسىز .modal-dialog.

<!-- Scrollable modal -->
<div class="modal-dialog modal-dialog-scrollable">
  ...
</div>

تىك مەركەزلىك

.modal-dialog-centeredمودېلنى .modal-dialogتىك مەركەزگە قوشۇڭ .

<!-- Vertically centered modal -->
<div class="modal-dialog modal-dialog-centered">
  ...
</div>

<!-- Vertically centered scrollable modal -->
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
  ...
</div>

قورال قوراللىرى ۋە كۆزنەكلەر

ئېھتىياجغا ئاساسەن قورال ۋە كۆرسەتكۈچلەرنى مودېللارنىڭ ئىچىگە قويغىلى بولىدۇ. مودېللار تاقالغاندا ، ئىچىدىكى ھەر قانداق قورال قوراللىرى ۋە پوپايكىلارمۇ ئاپتوماتىك ھالدا ئىشتىن بوشىتىلىدۇ.

<div class="modal-body">
  <h5>Popover in a modal</h5>
  <p>This <a href="#" role="button" class="btn btn-secondary" data-bs-toggle="popover" title="Popover title" data-bs-content="Popover body content is set in this attribute.">button</a> triggers a popover on click.</p>
  <hr>
  <h5>Tooltips in a modal</h5>
  <p><a href="#" data-bs-toggle="tooltip" title="Tooltip">This link</a> and <a href="#" data-bs-toggle="tooltip" title="Tooltip">that link</a> have tooltips on hover.</p>
</div>

تورنى ئىشلىتىش

.container-fluidBootstrap تور سىستېمىسىنى مودېلنىڭ ئىچىدە ئۇۋا سېلىش ئارقىلىق ئىشلىتىڭ .modal-body. ئاندىن باشقا تورغا ئوخشاش نورمال تور سىستېمىسى دەرسلىكىنى ئىشلىتىڭ.

<div class="modal-body">
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-4">.col-md-4</div>
      <div class="col-md-4 ms-auto">.col-md-4 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-md-3 ms-auto">.col-md-3 .ms-auto</div>
      <div class="col-md-2 ms-auto">.col-md-2 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-md-6 ms-auto">.col-md-6 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-sm-9">
        Level 1: .col-sm-9
        <div class="row">
          <div class="col-8 col-sm-6">
            Level 2: .col-8 .col-sm-6
          </div>
          <div class="col-4 col-sm-6">
            Level 2: .col-4 .col-sm-6
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

مودېل مەزمۇنىنى ئۆزگەرتىش

ئوخشاش بولمىغان مەزمۇنلار بىلەن ئوخشاش مودېلنى قوزغىتىدىغان بىر تۈركۈم كۇنۇپكىلار بارمۇ؟ قايسى كۇنۇپكىنى باسقانلىقىغا ئاساسەن مودېلنىڭ مەزمۇنىنى ئۆزگەرتىش ئۈچۈن event.relatedTargetHTML خاسلىقى data-bs-*ئىشلىتىڭ .

تۆۋەندىكىسى HTML ۋە JavaScript دىن كېيىنكى جانلىق كۆرسەتمە. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن مودېل ۋەقەلىك ھۆججەتلىرىنى ئوقۇڭrelatedTarget .

html
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@getbootstrap">Open modal for @getbootstrap</button>

<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">New message</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        <form>
          <div class="mb-3">
            <label for="recipient-name" class="col-form-label">Recipient:</label>
            <input type="text" class="form-control" id="recipient-name">
          </div>
          <div class="mb-3">
            <label for="message-text" class="col-form-label">Message:</label>
            <textarea class="form-control" id="message-text"></textarea>
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Send message</button>
      </div>
    </div>
  </div>
</div>
const exampleModal = document.getElementById('exampleModal')
exampleModal.addEventListener('show.bs.modal', event => {
  // Button that triggered the modal
  const button = event.relatedTarget
  // Extract info from data-bs-* attributes
  const recipient = button.getAttribute('data-bs-whatever')
  // If necessary, you could initiate an AJAX request here
  // and then do the updating in a callback.
  //
  // Update the modal's content.
  const modalTitle = exampleModal.querySelector('.modal-title')
  const modalBodyInput = exampleModal.querySelector('.modal-body input')

  modalTitle.textContent = `New message to ${recipient}`
  modalBodyInput.value = recipient
})

مودېللار ئارىسىدا ئالماشتۇرۇڭ

data-bs-targetخاسلىق ۋە خاسلىقلارنىڭ ئەقىللىق ئورۇنلاشتۇرۇلۇشى بىلەن كۆپ خىل مودېللار ئارا ئالماشتۇرۇڭ data-bs-toggle. مەسىلەن ، سىز ئاللىبۇرۇن ئېچىلغان بەلگە ئىچىدىكى پارولنى ئەسلىگە كەلتۈرۈش ھالىتىنى ئالماشتۇرالايسىز. شۇنىڭغا دىققەت قىلىڭكى ، كۆپ خىل مودېلنى بىرلا ۋاقىتتا ئاچقىلى بولمايدۇ - بۇ ئۇسۇل پەقەت ئىككى ئايرىم مودېل ئارىسىدا ئالماشتۇرۇلىدۇ.

بىرىنچى مودېلنى ئېچىڭ
html
<div class="modal fade" id="exampleModalToggle" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" tabindex="-1">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalToggleLabel">Modal 1</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        Show a second modal and hide this one with the button below.
      </div>
      <div class="modal-footer">
        <button class="btn btn-primary" data-bs-target="#exampleModalToggle2" data-bs-toggle="modal">Open second modal</button>
      </div>
    </div>
  </div>
</div>
<div class="modal fade" id="exampleModalToggle2" aria-hidden="true" aria-labelledby="exampleModalToggleLabel2" tabindex="-1">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalToggleLabel2">Modal 2</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        Hide this modal and show the first with the button below.
      </div>
      <div class="modal-footer">
        <button class="btn btn-primary" data-bs-target="#exampleModalToggle" data-bs-toggle="modal">Back to first</button>
      </div>
    </div>
  </div>
</div>
<a class="btn btn-primary" data-bs-toggle="modal" href="#exampleModalToggle" role="button">Open first modal</a>

كارتوننى ئۆزگەرتىڭ

ئۆزگەرگۈچى مىقدار مودېل سۇسلىشىشتىن بۇرۇنقى $modal-fade-transformئۆزگىرىش ھالىتىنى بەلگىلەيدۇ ، ئۆزگىرىشچان مودېل سۇسلاشتۇرۇلغان كارتوننىڭ ئاخىرىدىكى ئۆزگىرىشنى بەلگىلەيدۇ ..modal-dialog$modal-show-transform.modal-dialog

ئەگەر چوڭايتىش كارتوننى مىسالغا ئالسىڭىز ، تەڭشىيەلەيسىز $modal-fade-transform: scale(.8).

كارتوننى ئۆچۈرۈڭ

كۆرۈنۈشتە سۇسلاشتىن كۆرە ئاددىي كۆرۈنىدىغان مودېللارغا مودېل بەلگىڭىزدىن .fadeدەرسنى ئۆچۈرۈڭ.

<div class="modal" tabindex="-1" aria-labelledby="..." aria-hidden="true">
  ...
</div>

ھەرىكەتچان ئېگىزلىك

ئەگەر ئوچۇق ھالەتتە مودېلنىڭ ئېگىزلىكى ئۆزگەرسە ، تېلېفون قىلىشىڭىز كېرەكmyModal.handleUpdate() سىيرىلما تاياقچە كۆرۈنگەن ئەھۋالدا مودېلنىڭ ئورنىنى تەڭشەشكە تېلېفون قىلىشىڭىز كېرەك.

قولايلىق

قوشۇشقا كاپالەتلىك قىلىڭ aria-labelledby="..."، مودېل نامىنى كۆرسىتىدۇ .modal. aria-describedbyبۇنىڭدىن باشقا ، سىز يەنە مودېل دىئالوگىڭىزنىڭ چۈشەندۈرۈشىنى بەرسىڭىز .modalبولىدۇ. role="dialog"شۇنىڭغا دىققەت قىلىڭكى ، ئۇنى JavaScript ئارقىلىق قوشقان بولغاچقا قوشۇشىڭىزنىڭ ھاجىتى يوق .

YouTube فىلىملىرىنى قىستۇرۇش

YouTube فىلىملىرىنى مودېلغا قىستۇرۇش Bootstrap دا ئەمەس قوشۇمچە JavaScript تەلەپ قىلىدۇ ۋە قويۇشنى ئاپتوماتىك توختىتىدۇ. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن بۇ پايدىلىق Stack Overflow يازمىسىنى كۆرۈڭ.

ئىختىيارى چوڭلۇق

مودېللارنىڭ ئۈچ خىل ئىختىيارى چوڭلۇقى بار ، ئۆزگەرتىش سىنىپى ئارقىلىق A غا قويغىلى بولىدۇ .modal-dialog. بۇ رازمېرلار تار نۇقتىلاردا گورىزونتال سىيرىلما بالداقتىن ساقلىنىش ئۈچۈن بەزى بۆسۈش نۇقتىلىرىدا قوزغىلىدۇ.

چوڭلۇقى سىنىپ Modal max-width
كىچىك .modal-sm 300px
سۈكۈتتىكى ياق 500px
چوڭ .modal-lg 800px
قوشۇمچە چوڭ .modal-xl 1140px

ئۆزگەرتكۈچ سىنىپى بولمىغان سۈكۈتتىكى مودېلىمىز «ئوتتۇرا» چوڭلۇقتىكى مودېلنى تەشكىل قىلىدۇ.

<div class="modal-dialog modal-xl">...</div>
<div class="modal-dialog modal-lg">...</div>
<div class="modal-dialog modal-sm">...</div>

تولۇق ئېكران مودېلى

يەنە بىر قاپلاش بولسا ئىشلەتكۈچىنىڭ كۆرۈنۈشىنى ئۆز ئىچىگە ئالغان مودېلنى ئېچىش تاللانمىسى بولۇپ ، a غا قويۇلغان ئۆزگەرتىش سىنىپى ئارقىلىق ئىشلەتكىلى بولىدۇ .modal-dialog.

سىنىپ ئىشلەتكىلى بولىدۇ
.modal-fullscreen ھەمىشە
.modal-fullscreen-sm-down 576px
.modal-fullscreen-md-down 768px
.modal-fullscreen-lg-down 992px
.modal-fullscreen-xl-down 1200px
.modal-fullscreen-xxl-down 1400px
<!-- Full screen modal -->
<div class="modal-dialog modal-fullscreen-sm-down">
  ...
</div>

CSS

ئۆزگەرگۈچى مىقدار

V5.2.0 گە قوشۇلدى

Bootstrap نىڭ تەرەققىي قىلىۋاتقان CSS ئۆزگەرگۈچى مىقدار ئۇسۇلىنىڭ بىر قىسمى سۈپىتىدە ، مودېللار ھازىر يەرلىك CSS ئۆزگەرگۈچى مىقدارنى ئىشلىتىپ ، .modalھەقىقىي .modal-backdropۋاقىتتا خاسلاشتۇرۇشنى كۈچەيتىدۇ. CSS ئۆزگەرگۈچى مىقدارنىڭ قىممىتى Sass ئارقىلىق بەلگىلىنىدۇ ، شۇڭا Sass خاسلاشتۇرۇش يەنىلا قوللىنىدۇ.

  --#{$prefix}modal-zindex: #{$zindex-modal};
  --#{$prefix}modal-width: #{$modal-md};
  --#{$prefix}modal-padding: #{$modal-inner-padding};
  --#{$prefix}modal-margin: #{$modal-dialog-margin};
  --#{$prefix}modal-color: #{$modal-content-color};
  --#{$prefix}modal-bg: #{$modal-content-bg};
  --#{$prefix}modal-border-color: #{$modal-content-border-color};
  --#{$prefix}modal-border-width: #{$modal-content-border-width};
  --#{$prefix}modal-border-radius: #{$modal-content-border-radius};
  --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};
  --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};
  --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};
  --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};
  --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
  --#{$prefix}modal-header-border-color: #{$modal-header-border-color};
  --#{$prefix}modal-header-border-width: #{$modal-header-border-width};
  --#{$prefix}modal-title-line-height: #{$modal-title-line-height};
  --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};
  --#{$prefix}modal-footer-bg: #{$modal-footer-bg};
  --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};
  --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};
  
  --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
  --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
  --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
  

Sass ئۆزگەرگۈچى مىقدار

$modal-inner-padding:               $spacer;

$modal-footer-margin-between:       .5rem;

$modal-dialog-margin:               .5rem;
$modal-dialog-margin-y-sm-up:       1.75rem;

$modal-title-line-height:           $line-height-base;

$modal-content-color:               null;
$modal-content-bg:                  $white;
$modal-content-border-color:        var(--#{$prefix}border-color-translucent);
$modal-content-border-width:        $border-width;
$modal-content-border-radius:       $border-radius-lg;
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width);
$modal-content-box-shadow-xs:       $box-shadow-sm;
$modal-content-box-shadow-sm-up:    $box-shadow;

$modal-backdrop-bg:                 $black;
$modal-backdrop-opacity:            .5;

$modal-header-border-color:         var(--#{$prefix}border-color);
$modal-header-border-width:         $modal-content-border-width;
$modal-header-padding-y:            $modal-inner-padding;
$modal-header-padding-x:            $modal-inner-padding;
$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x; // Keep this for backwards compatibility

$modal-footer-bg:                   null;
$modal-footer-border-color:         $modal-header-border-color;
$modal-footer-border-width:         $modal-header-border-width;

$modal-sm:                          300px;
$modal-md:                          500px;
$modal-lg:                          800px;
$modal-xl:                          1140px;

$modal-fade-transform:              translate(0, -50px);
$modal-show-transform:              none;
$modal-transition:                  transform .3s ease-out;
$modal-scale-transform:             scale(1.02);

Loop

ئىنكاسچان تولۇق ئېكرانلىق مودېللار$breakpoints خەرىتە ۋە ئايلانما شەكىلدە ھاسىل بولىدۇ scss/_modal.scss.

@each $breakpoint in map-keys($grid-breakpoints) {
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
  $postfix: if($infix != "", $infix + "-down", "");

  @include media-breakpoint-down($breakpoint) {
    .modal-fullscreen#{$postfix} {
      width: 100vw;
      max-width: none;
      height: 100%;
      margin: 0;

      .modal-content {
        height: 100%;
        border: 0;
        @include border-radius(0);
      }

      .modal-header,
      .modal-footer {
        @include border-radius(0);
      }

      .modal-body {
        overflow-y: auto;
      }
    }
  }
}

ئىشلىتىش

مودېل قىستۇرمىسى سانلىق مەلۇمات خاسلىقى ياكى JavaScript ئارقىلىق ئېھتىياجغا ئاساسەن يوشۇرۇن مەزمۇنلىرىڭىزنى ئالماشتۇرىدۇ. ئۇ يەنە سۈكۈتتىكى سىيرىلىش ھەرىكىتىنى .modal-backdropقاپلاپ ، مودېلنىڭ سىرتىنى چەككەندە كۆرسىتىلگەن مودېللارنى ئەمەلدىن قالدۇرۇش ئۈچۈن چېكىش رايونى بىلەن تەمىنلەيدۇ.

سانلىق مەلۇمات خاسلىقى ئارقىلىق

Toggle

JavaScript يازماي تۇرۇپ مودېلنى قوزغىتىڭ. كونتروللىغۇچ data-bs-toggle="modal"ئېلېمېنتىغا ، بىر كۇنۇپكا بىلەن تەڭ data-bs-target="#foo"ياكى href="#foo"مەلۇم مودېلنى ئالماشتۇرۇشقا توغرىلاڭ.

<button type="button" data-bs-toggle="modal" data-bs-target="#myModal">Launch modal</button>

خىزمەتتىن ھەيدەش

تۆۋەندە كۆرسىتىلگەندەك مودېل ئىچىدىكىdata بىر كۇنۇپكىدىكى خاسلىق بىلەن ئەمەلدىن قالدۇرغىلى بولىدۇ :

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>

ياكى تۆۋەندە كۆرسىتىلگەندەك مودېلنىڭ سىرتىدىكى بىر كۇنۇپكىدا :data-bs-target

<button type="button" class="btn-close" data-bs-dismiss="modal" data-bs-target="#my-modal" aria-label="Close"></button>
مودېلنى ئەمەلدىن قالدۇرۇشنىڭ ھەر ئىككى خىل ئۇسۇلى قوللانغان بولسىمۇ ، ئېسىڭىزدە تۇتۇڭ ، مودېلنىڭ سىرتىدا ئىشتىن بوشىتىش ARIA ئاپتور مەشىق ئەمەلىيەت يېتەكچىسى دىئالوگ (مودېل) ئەندىزىسىگە ماس كەلمەيدۇ. بۇنى ئۆزىڭىزنىڭ خەتىرىگە ئاساسەن قىلىڭ.

JavaScript ئارقىلىق

بىر قۇر JavaScript بىلەن مودېل قۇر:

const myModal = new bootstrap.Modal(document.getElementById('myModal'), options)
// or
const myModalAlternative = new bootstrap.Modal('#myModal', options)

تاللانما

تاللانمىلارنى سانلىق مەلۇمات خاسلىقى ياكى JavaScript ئارقىلىق يەتكۈزگىلى بولىدىغان بولغاچقا ، تاللاش نامىغا data-bs-ئوخشاش قوشۇمچە ئىسىم قوشالايسىز data-bs-animation="{value}". تاللاش خاسلىقى ئارقىلىق تاللاش نامىنى «تۆگە دېلوسى» دىن «kebab-case» غا ئۆزگەرتىشكە كاپالەتلىك قىلىڭ . مەسىلەن ، data-bs-custom-class="beautifier"ئۇنىڭ ئورنىغا ئىشلىتىڭdata-bs-customClass="beautifier" ئىشلىتىڭ .

Bootstrap 5.2.0 گە قەدەر ، بارلىق زاپچاسلار JSON تىزمىسى سۈپىتىدە ئاددىي زاپچاس سەپلىمىسىنى ساقلىيالايدىغان تەجرىبە ساقلانغان سانلىق مەلۇمات خاسلىقىنى قوللايدۇ. data-bs-configئېلېمېنتنىڭ خاسلىقى data-bs-config='{"delay":0, "title":123}'ۋە data-bs-title="456"خاسلىقى بولغاندا ، ئاخىرقى titleقىممىتى بولىدۇ 456ۋە ئايرىم سانلىق مەلۇمات خاسلىقى بېرىلگەن قىممەتنى بېسىپ data-bs-configچۈشىدۇ. بۇنىڭدىن باشقا ، مەۋجۇت سانلىق مەلۇمات خاسلىقى JSON قىممىتىنى ساقلىيالايدۇ data-bs-delay='{"show":0,"hide":150}'.

ئىسمى تىپ سۈكۈتتىكى چۈشەندۈرۈش
backdrop boolean,'static' true مودېل ئارقا كۆرۈنۈش ئېلېمېنتىنى ئۆز ئىچىگە ئالىدۇ. staticئۇنىڭدىن باشقا ، چەككەندە مودېلنى تاقىمايدىغان ئارقا كۆرۈنۈشنى بەلگىلەڭ .
focus boolean true باشلىغاندا فوكۇسنى مودېلغا قويىدۇ.
keyboard boolean true قېچىش كۇنۇپكىسى بېسىلغاندا مودېلنى تاقايدۇ.

Methods

ماس قەدەمسىز ئۇسۇل ۋە ئۆتكۈنچى

بارلىق API ئۇسۇللىرى ماس قەدەمسىز بولۇپ ، ئۆتكۈنچى باسقۇچنى باشلايدۇ . ئۇلار بۇرۇلۇش باشلانغان ھامان ، ئۇ ئاخىرلاشماي تۇرۇپلا تېلېفون قىلغۇچىغا قايتىپ كېلىدۇ . بۇنىڭدىن باشقا ، ئۆتكۈنچى زاپچاسنى چاقىرىش ئۇسۇلىغا سەل قارىلىدۇ .

تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن JavaScript ھۆججىتىمىزنى كۆرۈڭ .

تاللاش يوللىرى

مەزمۇنلىرىڭىزنى مودېل سۈپىتىدە قوزغىتىدۇ. ئىختىيارى تاللاشلارنى قوبۇل قىلىدۇ object.

const myModal = new bootstrap.Modal('#myModal', {
  keyboard: false
})
ئۇسۇل چۈشەندۈرۈش
dispose ئېلېمېنتنىڭ مودىلىنى بۇزىدۇ. (DOM ئېلېمېنتىدىكى ساقلانغان سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ)
getInstance تۇراقلىق ئۇسۇل ئارقىلىق DOM ئېلېمېنتى بىلەن مۇناسىۋەتلىك مودېل مىسالىغا ئېرىشەلەيسىز.
getOrCreateInstance تۇراقلىق ئۇسۇل ئارقىلىق DOM ئېلېمېنتى بىلەن باغلانغان مودېل ئۈلگىسىنى ئالالايسىز ياكى باشلانمىغان ئەھۋال ئاستىدا يېڭىسىنى قۇرالايسىز.
handleUpdate ئەگەر مودېلنىڭ ئېگىزلىكى ئوچۇق ھالەتتە ئۆزگەرسە (يەنى سىيرىلما تاياقچە كۆرۈنگەن ئەھۋال ئاستىدا) مودېلنىڭ ئورنىنى قولدا تەڭشەڭ.
hide قولدا مودېلنى يوشۇرىدۇ. مودېل ئەمەلىيەتتە يوشۇرۇلۇشتىن بۇرۇن (يەنى ۋەقە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ .hidden.bs.modal
show قولدا مودېل ئاچىدۇ. مودېل ئەمەلىيەتتە كۆرسىتىلىشتىن بۇرۇن (يەنى ۋەقە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ . ئۇنىڭدىن باشقا ، سىز مودېل ھادىسىلىرىدە ( مۈلۈك shown.bs.modalسۈپىتىدە) قوبۇل قىلىشقا بولىدىغان تالاش-تارتىش سۈپىتىدە DOM ئېلېمېنتىنى يەتكۈزەلەيسىز . relatedTarget(يەنى const modalToggle = document.getElementById('toggleMyModal'); myModal.show(modalToggle).
toggle قولدا مودېل ئالماشتۇرۇلىدۇ. مودېل ئەمەلىيەتتە كۆرسىتىش ياكى يوشۇرۇشتىن بۇرۇن (يەنى ۋەقە ياكى ۋەقە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ .shown.bs.modalhidden.bs.modal

Events

Bootstrap نىڭ مودېل سىنىپى مودېل ئىقتىدارغا باغلىنىش ئۈچۈن بىر قانچە ۋەقەنى ئاشكارىلىدى. بارلىق مودېل ھادىسىلىرى مودېلنىڭ ئۆزىدە (يەنى <div class="modal">).

Event چۈشەندۈرۈش
hide.bs.modal hideئۈلگە ئۇسۇلى چاقىرىلغاندا بۇ پائالىيەت دەرھال ئېتىۋېتىلىدۇ .
hidden.bs.modal بۇ ھادىسە مودېل ئىشلەتكۈچىگە يوشۇرۇنغاندىن كېيىن چىقىرىلىدۇ (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ).
hidePrevented.bs.modal مودېل كۆرسىتىلگەندە ، ئۇنىڭ ئارقا كۆرۈنۈشى staticۋە مودېلنىڭ سىرتىدا چېكىش ئېلىپ بېرىلغاندا بۇ پائالىيەت ئېتىلىدۇ. قېچىش كۇنۇپكىسى بېسىلغاندا ۋە keyboardتاللاش تەڭشەلگەندە پائالىيەتمۇ ئېتىلىدۇ false.
show.bs.modal showمىسال ئۇسۇلى چاقىرىلغاندا بۇ ھادىسە دەرھال ئېتىلىدۇ . ئەگەر چېكىشتىن كېلىپ چىققان بولسا ، چەككەن ئېلېمېنت relatedTargetپائالىيەتنىڭ خاسلىقى سۈپىتىدە بولىدۇ.
shown.bs.modal بۇ ھادىسە مودېلنى ئىشلەتكۈچىگە كۆرۈنگەندە چىقىرىۋېتىلىدۇ (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ). ئەگەر چېكىشتىن كېلىپ چىققان بولسا ، چەككەن ئېلېمېنت relatedTargetپائالىيەتنىڭ خاسلىقى سۈپىتىدە بولىدۇ.
const myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('hidden.bs.modal', event => {
  // do something...
})