മോഡൽ
ലൈറ്റ്ബോക്സുകൾ, ഉപയോക്തൃ അറിയിപ്പുകൾ അല്ലെങ്കിൽ പൂർണ്ണമായും ഇഷ്ടാനുസൃത ഉള്ളടക്കം എന്നിവയ്ക്കായി നിങ്ങളുടെ സൈറ്റിലേക്ക് ഡയലോഗുകൾ ചേർക്കുന്നതിന് ബൂട്ട്സ്ട്രാപ്പിന്റെ JavaScript മോഡൽ പ്ലഗിൻ ഉപയോഗിക്കുക.
ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു
ബൂട്ട്സ്ട്രാപ്പിന്റെ മോഡൽ ഘടകം ഉപയോഗിച്ച് ആരംഭിക്കുന്നതിന് മുമ്പ്, ഞങ്ങളുടെ മെനു ഓപ്ഷനുകൾ അടുത്തിടെ മാറിയതിനാൽ ഇനിപ്പറയുന്നവ വായിക്കുന്നത് ഉറപ്പാക്കുക.
- HTML, CSS, JavaScript എന്നിവ ഉപയോഗിച്ചാണ് മോഡലുകൾ നിർമ്മിച്ചിരിക്കുന്നത്. അവ ഡോക്യുമെന്റിലെ മറ്റെല്ലാറ്റിനും മുകളിൽ സ്ഥാനം പിടിച്ചിരിക്കുന്നു, കൂടാതെ
<body>
മോഡൽ ഉള്ളടക്കം സ്ക്രോൾ ചെയ്യുന്ന തരത്തിൽ നിന്ന് സ്ക്രോൾ നീക്കം ചെയ്യുക. - മോഡൽ "ബാക്ക്ഡ്രോപ്പ്" ക്ലിക്ക് ചെയ്യുന്നത് മോഡൽ സ്വയമേവ അടയ്ക്കും.
- ബൂട്ട്സ്ട്രാപ്പ് ഒരു സമയം ഒരു മോഡൽ വിൻഡോയെ മാത്രമേ പിന്തുണയ്ക്കൂ. നെസ്റ്റഡ് മോഡലുകൾ മോശം ഉപയോക്തൃ അനുഭവങ്ങളാണെന്ന് ഞങ്ങൾ വിശ്വസിക്കുന്നതിനാൽ പിന്തുണയ്ക്കില്ല.
- മോഡലുകൾ ഉപയോഗിക്കുന്നു
position: fixed
, അത് ചിലപ്പോൾ അതിന്റെ റെൻഡറിംഗിനെക്കുറിച്ച് അൽപ്പം പ്രത്യേകമായേക്കാം. സാധ്യമാകുമ്പോഴെല്ലാം, മറ്റ് ഘടകങ്ങളിൽ നിന്നുള്ള സാധ്യതയുള്ള ഇടപെടൽ ഒഴിവാക്കാൻ നിങ്ങളുടെ മോഡൽ HTML ഒരു ഉയർന്ന തലത്തിൽ സ്ഥാപിക്കുക..modal
മറ്റൊരു നിശ്ചിത ഘടകത്തിനുള്ളിൽ കൂടുകൂട്ടുമ്പോൾ നിങ്ങൾക്ക് പ്രശ്നങ്ങൾ നേരിടേണ്ടി വന്നേക്കാം . - ഒരിക്കൽ കൂടി, കാരണം
position: fixed
, മൊബൈൽ ഉപകരണങ്ങളിൽ മോഡലുകൾ ഉപയോഗിക്കുന്നതിന് ചില മുന്നറിയിപ്പുകൾ ഉണ്ട്. വിശദാംശങ്ങൾക്ക് ഞങ്ങളുടെ ബ്രൗസർ പിന്തുണ ഡോക്സ് കാണുക. - HTML5 അതിന്റെ അർത്ഥശാസ്ത്രത്തെ എങ്ങനെ നിർവചിക്കുന്നു എന്നതിനാൽ, ബൂട്ട്സ്ട്രാപ്പ് മോഡലുകളിൽ
autofocus
HTML ആട്രിബ്യൂട്ടിന് യാതൊരു സ്വാധീനവുമില്ല. ഇതേ ഇഫക്റ്റ് നേടുന്നതിന്, ചില ഇഷ്ടാനുസൃത 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>
ലൈവ് ഡെമോ
താഴെയുള്ള ബട്ടണിൽ ക്ലിക്കുചെയ്ത് ഒരു വർക്കിംഗ് മോഡൽ ഡെമോ ടോഗിൾ ചെയ്യുക. അത് താഴേക്ക് സ്ലൈഡ് ചെയ്യുകയും പേജിന്റെ മുകളിൽ നിന്ന് മങ്ങുകയും ചെയ്യും.
<!-- 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-fluid
ഉപയോഗിച്ച് ഉപയോഗിക്കുക .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>
വ്യത്യസ്ത മോഡൽ ഉള്ളടക്കം
അല്പം വ്യത്യസ്തമായ ഉള്ളടക്കങ്ങളുള്ള ഒരേ മോഡൽ ട്രിഗർ ചെയ്യുന്ന ഒരു കൂട്ടം ബട്ടണുകൾ ഉണ്ടോ? ഏത് ബട്ടണാണ് ക്ലിക്ക് ചെയ്തത് എന്നതിനെ ആശ്രയിച്ച് മോഡലിന്റെ ഉള്ളടക്കം മാറ്റാൻ HTML ആട്രിബ്യൂട്ടുകളും ഉപയോഗിക്കുക event.relatedTarget
.data-bs-*
HTML, JavaScript എന്നിവയ്ക്ക് ശേഷം ഒരു തത്സമയ ഡെമോ ചുവടെയുണ്ട്. കൂടുതൽ വിവരങ്ങൾക്ക്, വിശദാംശങ്ങൾക്ക് മോഡൽ ഇവന്റുകൾ ഡോക്സ് വായിക്കുകrelatedTarget
.
<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
ഉദാഹരണത്തിന്, ഇതിനകം തുറന്നിരിക്കുന്ന സൈൻ ഇൻ മോഡലിൽ നിന്ന് നിങ്ങൾക്ക് ഒരു പാസ്വേഡ് റീസെറ്റ് മോഡൽ ടോഗിൾ ചെയ്യാം. ഒന്നിലധികം മോഡലുകൾ ഒരേ സമയം തുറക്കാൻ കഴിയില്ലെന്ന കാര്യം ശ്രദ്ധിക്കുക - ഈ രീതി രണ്ട് വ്യത്യസ്ത മോഡലുകൾക്കിടയിൽ ടോഗിൾ ചെയ്യുന്നു.
<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
കൂടാതെ, on ഉപയോഗിച്ച് നിങ്ങളുടെ മോഡൽ ഡയലോഗിന്റെ ഒരു വിവരണം നിങ്ങൾക്ക് നൽകാം .modal
. role="dialog"
ജാവാസ്ക്രിപ്റ്റ് വഴി ഞങ്ങൾ ഇതിനകം ചേർത്തതിനാൽ നിങ്ങൾ ചേർക്കേണ്ടതില്ല എന്നത് ശ്രദ്ധിക്കുക .
YouTube വീഡിയോകൾ ഉൾച്ചേർക്കുന്നു
YouTube വീഡിയോകൾ മോഡലുകളിൽ ഉൾച്ചേർക്കുന്നതിന്, പ്ലേബാക്കും മറ്റും സ്വയമേവ നിർത്തുന്നതിന് ബൂട്ട്സ്ട്രാപ്പിൽ ഇല്ലാത്ത അധിക JavaScript ആവശ്യമാണ്. കൂടുതൽ വിവരങ്ങൾക്ക് സഹായകരമായ ഈ സ്റ്റാക്ക് ഓവർഫ്ലോ പോസ്റ്റ് കാണുക.
ഓപ്ഷണൽ വലുപ്പങ്ങൾ
മോഡലുകൾക്ക് മൂന്ന് ഓപ്ഷണൽ സൈസ് ഉണ്ട്, എയിൽ സ്ഥാപിക്കാൻ മോഡിഫയർ ക്ലാസുകൾ വഴി ലഭ്യമാണ് .modal-dialog
. ഇടുങ്ങിയ വ്യൂപോർട്ടുകളിൽ തിരശ്ചീനമായ സ്ക്രോൾബാറുകൾ ഒഴിവാക്കാൻ ഈ വലുപ്പങ്ങൾ ചില ബ്രേക്ക്പോയിന്റുകളിൽ കിക്ക് ഇൻ ചെയ്യുന്നു.
വലിപ്പം | ക്ലാസ് | മോഡൽ പരമാവധി വീതി |
---|---|---|
ചെറുത് | .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>
ഫുൾസ്ക്രീൻ മോഡൽ
ഉപയോക്തൃ വ്യൂപോർട്ട് ഉൾക്കൊള്ളുന്ന ഒരു മോഡൽ പോപ്പ് അപ്പ് ചെയ്യാനുള്ള ഓപ്ഷനാണ് മറ്റൊരു അസാധുവാക്കൽ, എയിൽ സ്ഥാപിച്ചിരിക്കുന്ന മോഡിഫയർ ക്ലാസുകൾ വഴി ലഭ്യമാണ് .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>
സി.എസ്.എസ്
വേരിയബിളുകൾ
v5.2.0 ൽ ചേർത്തു.modal
ബൂട്ട്സ്ട്രാപ്പിന്റെ വികസിച്ചുകൊണ്ടിരിക്കുന്ന CSS വേരിയബിൾ സമീപനത്തിന്റെ ഭാഗമായി , .modal-backdrop
മെച്ചപ്പെടുത്തിയ തത്സമയ ഇഷ്ടാനുസൃതമാക്കലിനായി മോഡലുകൾ ഇപ്പോൾ പ്രാദേശിക CSS വേരിയബിളുകൾ ഉപയോഗിക്കുന്നു . 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};
സാസ് വേരിയബിളുകൾ
$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);
ലൂപ്പ്
റെസ്പോൺസീവ് ഫുൾസ്ക്രീൻ മോഡലുകൾ$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
മോഡലിന് പുറത്ത് ക്ലിക്കുചെയ്യുമ്പോൾ കാണിച്ചിരിക്കുന്ന മോഡലുകൾ നിരസിക്കാൻ ഒരു ക്ലിക്ക് ഏരിയ നൽകുകയും ചെയ്യുന്നു.
ഡാറ്റ ആട്രിബ്യൂട്ടുകൾ വഴി
ടോഗിൾ ചെയ്യുക
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>
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}"
. ഡാറ്റ ആട്രിബ്യൂട്ടുകൾ വഴി ഓപ്ഷനുകൾ കൈമാറുമ്പോൾ, ഓപ്ഷൻ പേരിന്റെ കേസ് തരം “ഒട്ടകം” എന്നതിൽ നിന്ന് “കബാബ്-കേസ്” ആയി മാറ്റുന്നത് ഉറപ്പാക്കുക . ഉദാഹരണത്തിന്, data-bs-custom-class="beautifier"
പകരം ഉപയോഗിക്കുക data-bs-customClass="beautifier"
.
ബൂട്ട്സ്ട്രാപ്പ് 5.2.0 പോലെ, എല്ലാ ഘടകങ്ങളും ഒരു പരീക്ഷണാത്മക റിസർവ് ചെയ്ത ഡാറ്റ ആട്രിബ്യൂട്ടിനെ പിന്തുണയ്ക്കുന്നു data-bs-config
, അത് ഒരു JSON സ്ട്രിംഗായി ലളിതമായ ഘടക കോൺഫിഗറേഷനെ ഉൾക്കൊള്ളാൻ കഴിയും. ഒരു മൂലകവും ആട്രിബ്യൂട്ടുകളും ഉള്ളപ്പോൾ 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 |
ബൂളിയൻ,'static' |
true |
ഒരു മോഡൽ-ബാക്ക്ഡ്രോപ്പ് ഘടകം ഉൾപ്പെടുന്നു. പകരമായി, static ക്ലിക്ക് ചെയ്യുമ്പോൾ മോഡൽ അടയ്ക്കാത്ത ഒരു ബാക്ക്ഡ്രോപ്പിനായി വ്യക്തമാക്കുക. |
focus |
ബൂളിയൻ | true |
സമാരംഭിക്കുമ്പോൾ മോഡലിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. |
keyboard |
ബൂളിയൻ | true |
എസ്കേപ്പ് കീ അമർത്തുമ്പോൾ മോഡൽ അടയ്ക്കുന്നു. |
രീതികൾ
അസിൻക്രണസ് രീതികളും പരിവർത്തനങ്ങളും
എല്ലാ 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 ഇവന്റ് സംഭവിക്കുന്നതിന് മുമ്പ്) വിളിക്കുന്നയാളിലേക്ക് മടങ്ങുന്നു. relatedTarget കൂടാതെ, മോഡൽ ഇവന്റുകളിൽ ( പ്രോപ്പർട്ടി ആയി) സ്വീകരിക്കാവുന്ന ഒരു ആർഗ്യുമെന്റായി നിങ്ങൾക്ക് ഒരു DOM ഘടകം കൈമാറാൻ കഴിയും . (അതായത് const modalToggle = document.getElementById('toggleMyModal'); myModal.show(modalToggle) . |
toggle |
ഒരു മോഡൽ സ്വമേധയാ ടോഗിൾ ചെയ്യുന്നു. മോഡൽ യഥാർത്ഥത്തിൽ കാണിക്കുകയോ മറയ്ക്കുകയോ ചെയ്യുന്നതിനുമുമ്പ് (അതായത് shown.bs.modal അല്ലെങ്കിൽ hidden.bs.modal ഇവന്റ് സംഭവിക്കുന്നതിന് മുമ്പ്) വിളിക്കുന്നയാളിലേക്ക് മടങ്ങുന്നു. |
ഇവന്റുകൾ
ബൂട്ട്സ്ട്രാപ്പിന്റെ മോഡൽ ക്ലാസ് മോഡൽ പ്രവർത്തനത്തിലേക്ക് ഹുക്ക് ചെയ്യുന്നതിനായി കുറച്ച് ഇവന്റുകൾ തുറന്നുകാട്ടുന്നു. എല്ലാ മോഡൽ ഇവന്റുകളും മോഡലിൽ തന്നെ (അതായത് <div class="modal">
) വെടിവയ്ക്കുന്നു.
സംഭവം | വിവരണം |
---|---|
hide.bs.modal |
hide ഇൻസ്റ്റൻസ് മെത്തേഡ് വിളിച്ചാൽ ഉടൻ തന്നെ ഈ ഇവന്റ് ഫയർ ചെയ്യപ്പെടും. |
hidden.bs.modal |
മോഡൽ ഉപയോക്താവിൽ നിന്ന് മറച്ചത് പൂർത്തിയാകുമ്പോൾ ഈ ഇവന്റ് പ്രവർത്തനക്ഷമമാകും (സിഎസ്എസ് സംക്രമണങ്ങൾ പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കും). |
hidePrevented.bs.modal |
മോഡൽ കാണിക്കുമ്പോൾ ഈ ഇവന്റ് ഫയർ ചെയ്യപ്പെടുന്നു, അതിന്റെ ബാക്ക്ഡ്രോപ്പ് static മോഡലിന് പുറത്ത് ഒരു ക്ലിക്ക് നടത്തുന്നു. keyboard എസ്കേപ്പ് കീ അമർത്തി ഓപ്ഷൻ ആയി സജ്ജീകരിക്കുമ്പോൾ ഇവന്റും ഫയർ ചെയ്യപ്പെടും false . |
show.bs.modal |
show ഇൻസ്റ്റൻസ് മെത്തേഡ് എന്ന് വിളിക്കുമ്പോൾ ഈ സംഭവം ഉടനടി തീപിടിക്കുന്നു . ഒരു ക്ലിക്കിലൂടെ സംഭവിച്ചതാണെങ്കിൽ, ക്ലിക്കുചെയ്ത ഘടകം relatedTarget ഇവന്റിന്റെ പ്രോപ്പർട്ടിയായി ലഭ്യമാണ്. |
shown.bs.modal |
മോഡൽ ഉപയോക്താവിന് ദൃശ്യമാക്കുമ്പോൾ ഈ ഇവന്റ് പ്രവർത്തനക്ഷമമാകും (സിഎസ്എസ് സംക്രമണങ്ങൾ പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കും). ഒരു ക്ലിക്കിലൂടെ സംഭവിച്ചതാണെങ്കിൽ, ക്ലിക്കുചെയ്ത ഘടകം relatedTarget ഇവന്റിന്റെ പ്രോപ്പർട്ടിയായി ലഭ്യമാണ്. |
const myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('hidden.bs.modal', event => {
// do something...
})