Offcanvas
පන්ති කිහිපයක් සහ අපගේ ජාවාස්ක්රිප්ට් ප්ලගිනය සමඟින් සංචාලනය, සාප්පු කරත්ත සහ තවත් දේ සඳහා ඔබේ ව්යාපෘතියට සැඟවුණු පැති තීරු ගොඩනඟන්න.
එය ක්රියා කරන ආකාරය
Offcanvas යනු දර්ශන තොටේ වම්, දකුණ හෝ පහළ කෙළවරේ සිට දිස් වීමට JavaScript හරහා ටොගල් කළ හැකි පැති තීරු සංරචකයකි. බොත්තම් හෝ නැංගුරම් ඔබ ටොගල් කරන විශේෂිත මූලද්රව්යවලට අමුණා ඇති ප්රේරක ලෙස data
භාවිතා කරන අතර අපගේ ජාවාස්ක්රිප්ට් ආයාචනා කිරීමට උපලක්ෂණ භාවිතා කරයි.
- Offcanvas එකම JavaScript කේතයන් සමහරක් මාදිලි ලෙස බෙදා ගනී. සංකල්පමය වශයෙන්, ඒවා බෙහෙවින් සමාන ය, නමුත් ඒවා වෙනම ප්ලගීන වේ.
- ඒ හා සමානව, offcanvas හි මෝස්තර සහ මානයන් සඳහා වන සමහර මූලාශ්ර Sass විචල්ය මාදිලියේ විචල්යයන්ගෙන් උරුම වේ.
- පෙන්වන විට, offcanvas හි පෙරනිමි පසුබිමක් ඇතුළත් වන අතර එය offcanvas සැඟවීමට ක්ලික් කළ හැක.
- මාදිලිවලට සමානව, වරකට පෙන්විය හැක්කේ එක offcanvas එකක් පමණි.
දැනුම්දීම! CSS සජීවිකරණ හසුරුවන ආකාරය අනුව, ඔබට මූලද්රව්යයක් භාවිතා කිරීමට margin
හෝ භාවිතා කිරීමට නොහැක. ඒ වෙනුවට, ස්වාධීන දවටන අංගයක් ලෙස පන්තිය භාවිතා කරන්න.translate
.offcanvas
prefers-reduced-motion
මාධ්ය විමසුම මත රඳා පවතී. අපගේ ප්රවේශ්යතා ලේඛනවල අඩු කළ චලන කොටස බලන්න
.
උදාහරණ
Offcanvas සංරචක
පහත දැක්වෙන්නේ පෙරනිමියෙන් පෙන්වන ඕෆ්කැන්වස් උදාහරණයකි ( .show
ඔන් හරහා .offcanvas
). Offcanvas වසන බොත්තමක් සහිත ශීර්ෂයක් සඳහා සහය සහ සමහර ආරම්භක සඳහා විකල්ප ශරීර පන්තියක් ඇතුළත් වේ padding
. අපි ඔබට හැකි සෑම විටම ඉවත දැමීමේ ක්රියාවන් සමඟ offcanvas ශීර්ෂ ඇතුළත් කිරීමට යෝජනා කරමු, නැතහොත් පැහැදිලි ඉවත් කිරීමේ ක්රියාවක් සපයන්න.
Offcanvas
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
Content for the offcanvas goes here. You can place just about any Bootstrap component or custom elements here.
</div>
</div>
සජීවී නිරූපණය
.show
පන්තිය සමඟ මූලද්රව්යයක් මත පන්තිය ටොගල් කරන JavaScript හරහා offcanvas මූලාංගයක් පෙන්වීමට සහ සැඟවීමට පහත බොත්තම් භාවිත කරන්න .offcanvas
.
.offcanvas
අන්තර්ගතය සඟවයි (පෙරනිමිය).offcanvas.show
අන්තර්ගතය පෙන්වයි
ඔබට ගුණාංගය සමඟ සබැඳියක් href
හෝ ගුණාංගය සහිත බොත්තමක් භාවිතා කළ හැකිය data-bs-target
. අවස්ථා දෙකේදීම, data-bs-toggle="offcanvas"
එය අවශ්ය වේ.
Offcanvas
<a class="btn btn-primary" data-bs-toggle="offcanvas" href="#offcanvasExample" role="button" aria-controls="offcanvasExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample">
Button with data-bs-target
</button>
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasExampleLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div>
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
</div>
<div class="dropdown mt-3">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown">
Dropdown button
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</div>
</div>
</div>
ස්ථානගත කිරීම
offcanvas සංරචක සඳහා පෙරනිමි ස්ථානගත කිරීමක් නොමැත, එබැවින් ඔබ පහත විකරණකාරක පන්තිවලින් එකක් එක් කළ යුතුය;
.offcanvas-start
නැරඹුම් තොටේ වම් පසින් offcanvas ස්ථානගත කරන්න (ඉහත පෙන්වා ඇත).offcanvas-end
දර්ශන තොටේ දකුණු පසින් offcanvas තබයි.offcanvas-top
දර්ශන තොටේ මුදුනේ offcanvas තබයි.offcanvas-bottom
දර්ශන තොටේ පතුලේ offcanvas තබයි
පහතින් ඉහළ, දකුණු සහ පහළ උදාහරණ උත්සාහ කරන්න.
Offcanvas ඉහළ
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasTop" aria-controls="offcanvasTop">Toggle top offcanvas</button>
<div class="offcanvas offcanvas-top" tabindex="-1" id="offcanvasTop" aria-labelledby="offcanvasTopLabel">
<div class="offcanvas-header">
<h5 id="offcanvasTopLabel">Offcanvas top</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
Offcanvas හරි
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight">Toggle right offcanvas</button>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasRightLabel">
<div class="offcanvas-header">
<h5 id="offcanvasRightLabel">Offcanvas right</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
Offcanvas පතුලේ
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasBottom" aria-controls="offcanvasBottom">Toggle bottom offcanvas</button>
<div class="offcanvas offcanvas-bottom" tabindex="-1" id="offcanvasBottom" aria-labelledby="offcanvasBottomLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasBottomLabel">Offcanvas bottom</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body small">
...
</div>
</div>
පසුතලය
ඕෆ්කැන්වසයක් <body>
සහ එහි පසුබිම පෙනෙන විට මූලද්රව්යය අනුචලනය කිරීම අබල වේ. අනුචලනය ටොගල් කිරීමට සහ පසුතිරය ටොගල් data-bs-scroll
කිරීමට උපලක්ෂණය භාවිත කරන්න .<body>
data-bs-backdrop
අනුචලනය සමඟ වර්ණ ගැන්වේ
මෙම විකල්පය ක්රියාත්මක වන ආකාරය බැලීමට පිටුවේ ඉතිරි කොටස අනුචලනය කිරීමට උත්සාහ කරන්න.
පසුබිම සහිත ඕෆ්කැන්වස්
.....
අනුචලනය සමඟ පසුබිම් කර ඇත
මෙම විකල්පය ක්රියාත්මක වන ආකාරය බැලීමට පිටුවේ ඉතිරි කොටස අනුචලනය කිරීමට උත්සාහ කරන්න.
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Enable body scrolling</button>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasWithBackdrop" aria-controls="offcanvasWithBackdrop">Enable backdrop (default)</button>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasWithBothOptions" aria-controls="offcanvasWithBothOptions">Enable both scrolling & backdrop</button>
<div class="offcanvas offcanvas-start" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" id="offcanvasScrolling" aria-labelledby="offcanvasScrollingLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasScrollingLabel">Colored with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasWithBackdrop" aria-labelledby="offcanvasWithBackdropLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBackdropLabel">Offcanvas with backdrop</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>.....</p>
</div>
</div>
<div class="offcanvas offcanvas-start" data-bs-scroll="true" tabindex="-1" id="offcanvasWithBothOptions" aria-labelledby="offcanvasWithBothOptionsLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel">Backdroped with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>
ප්රවේශ
Offcanvas පැනලය සංකල්පමය වශයෙන් ආකෘති සංවාදයක් වන බැවින් aria-labelledby="..."
, offcanvas මාතෘකාව යොමු කරමින්- වෙත එක් කිරීමට වග බලා ගන්න .offcanvas
. role="dialog"
අපි දැනටමත් JavaScript හරහා එය එකතු කර ඇති බැවින් ඔබට එකතු කිරීමට අවශ්ය නොවන බව සලකන්න .
සාස්
විචල්යයන්
$offcanvas-padding-y: $modal-inner-padding;
$offcanvas-padding-x: $modal-inner-padding;
$offcanvas-horizontal-width: 400px;
$offcanvas-vertical-height: 30vh;
$offcanvas-transition-duration: .3s;
$offcanvas-border-color: $modal-content-border-color;
$offcanvas-border-width: $modal-content-border-width;
$offcanvas-title-line-height: $modal-title-line-height;
$offcanvas-bg-color: $modal-content-bg;
$offcanvas-color: $modal-content-color;
$offcanvas-box-shadow: $modal-content-box-shadow-xs;
භාවිතය
offcanvas ප්ලගිනය බර ඉසිලීම හැසිරවීමට පන්ති කිහිපයක් සහ ගුණාංග භාවිතා කරයි:
.offcanvas
අන්තර්ගතය සඟවයි.offcanvas.show
අන්තර්ගතය පෙන්වයි.offcanvas-start
වම් පසින් offcanvas සඟවයි.offcanvas-end
දකුණු පස ඇති offcanvas සඟවයි.offcanvas-bottom
පතුලේ ඇති offcanvas සඟවයි
data-bs-dismiss="offcanvas"
ජාවාස්ක්රිප්ට් ක්රියාකාරීත්වය ක්රියාරම්භ කරන ගුණාංගය සමඟින් ඉවත් කිරීමේ බොත්තමක් එක් කරන්න . <button>
සියලුම උපාංග හරහා නිසි හැසිරීම සඳහා එය සමඟ මූලද්රව්යය භාවිතා කිරීමට වග බලා ගන්න .
දත්ත ගුණාංග හරහා
data-bs-toggle="offcanvas"
එක් ඕෆ්කැන්වස් මූලද්රව්යයක පාලනය ස්වයංක්රීයව පැවරීමට මූලද්රව්යයට එක් කරන්න data-bs-target
. ගුණාංගය offcanvas යෙදීම සඳහා CSS තේරීමක් පිළිගනී href
. offcanvas මූලද්රව්යයට data-bs-target
පන්තිය එක් කිරීමට වග බලා ගන්න . offcanvas
ඔබ එය පෙරනිමියෙන් විවෘත කිරීමට කැමති නම්, අමතර පන්තිය එක් කරන්න show
.
JavaScript හරහා
සමඟ අතින් සබල කරන්න:
var offcanvasElementList = [].slice.call(document.querySelectorAll('.offcanvas'))
var offcanvasList = offcanvasElementList.map(function (offcanvasEl) {
return new bootstrap.Offcanvas(offcanvasEl)
})
විකල්ප
දත්ත ගුණාංග හෝ JavaScript හරහා විකල්ප ලබා දිය හැක. දත්ත උපලක්ෂණ සඳහා, විකල්ප නාමය data-bs-
, ලෙසට එකතු කරන්න data-bs-backdrop=""
.
නම | ටයිප් කරන්න | පෙරනිමිය | විස්තර |
---|---|---|---|
backdrop |
බූලියන් | true |
කැන්වස් විවෘතව තිබියදී ශරීරය මත පසුබිමක් යොදන්න |
keyboard |
බූලියන් | true |
ගැලවීමේ යතුර එබූ විට offcanvas එක වසා දමයි |
scroll |
බූලියන් | false |
Offcanvas විවෘතව ඇති අතරතුර ශරීරය අනුචලනය කිරීමට ඉඩ දෙන්න |
ක්රම
අසමමුහුර්ත ක්රම සහ සංක්රාන්ති
සියලුම API ක්රම අසමමුහුර්ත වන අතර සංක්රාන්තියක් ආරම්භ කරන්න . සංක්රාන්තිය ආරම්භ වූ වහාම නමුත් එය අවසන් වීමට පෙර ඔවුන් නැවත අමතන්නා වෙත පැමිණේ . ඊට අමතරව, සංක්රාන්ති සංරචකයක ක්රම ඇමතුමක් නොසලකා හරිනු ඇත .
ඔබගේ අන්තර්ගතය offcanvas මූලද්රව්යයක් ලෙස සක්රිය කරයි. විකල්ප විකල්ප පිළිගනී object
.
ඔබට ඉදිකිර��ම්කරු සමඟ offcanvas අවස්ථාවක් සෑදිය හැක, උදාහරණයක් ලෙස:
var myOffcanvas = document.getElementById('myOffcanvas')
var bsOffcanvas = new bootstrap.Offcanvas(myOffcanvas)
ක්රමය | විස්තර |
---|---|
toggle |
පෙන්වීමට හෝ සැඟවීමට offcanvas මූලාංගයක් ටොගල් කරයි. Offcanvas මූලද්රව්යය ඇත්ත වශයෙන්ම පෙන්වීමට හෝ සැඟවීමට පෙර (එනම් shown.bs.offcanvas හෝ hidden.bs.offcanvas සිදුවීම සිදුවීමට පෙර) ඇමතුම්කරු වෙත ආපසු පැමිණේ. |
show |
offcanvas මූලාංගයක් පෙන්වයි. Offcanvas මූලද්රව්යය ඇත්ත වශයෙන්ම පෙන්වීමට පෙර (එනම් shown.bs.offcanvas සිදුවීම සිදුවීමට පෙර) ඇමතුම්කරු වෙත ආපසු පැමිණේ. |
hide |
offcanvas මූලද්රව්ය සඟවයි. Offcanvas මූලද්රව්යය ඇත්ත වශයෙන්ම සැඟවීමට පෙර (එනම් hidden.bs.offcanvas සිදුවීම සිදුවීමට පෙර) ඇමතුම්කරු වෙත ආපසු පැමිණේ. |
getInstance |
DOM මූලද්රව්යයක් හා සම්බන්ධ offcanvas අවස්ථාව ලබා ගැනීමට ඔබට ඉඩ සලසන ස්ථිතික ක්රමය |
getOrCreateInstance |
DOM මූලද්රව්යයක් හා සම්බන්ධ offcanvas අවස්ථාව ලබා ගැනීමට ඔබට ඉඩ සලසන ස්ථිතික ක්රමය, හෝ එය ආරම්භ නොකළහොත් නව එකක් නිර්මාණය කරන්න |
සිදුවීම්
Bootstrap හි offcanvas පන්තිය offcanvas ක්රියාකාරීත්වයට සම්බන්ධ වීම සඳහා සිදුවීම් කිහිපයක් නිරාවරණය කරයි.
සිදුවීම් වර්ගය | විස්තර |
---|---|
show.bs.offcanvas |
show නිදසුන් ක්රමය හැඳින්වූ විට මෙම සිදුවීම වහාම ක්රියාත්මක වේ. |
shown.bs.offcanvas |
Offcanvas මූලද්රව්යයක් පරිශීලකයාට දෘශ්යමාන කර ඇති විට මෙම සිදුවීම ක්රියාත්මක වේ (CSS සංක්රාන්ති සම්පූර්ණ වන තෙක් බලා සිටිනු ඇත). |
hide.bs.offcanvas |
hide ක්රමවේදය කැඳවා ඇති විට මෙම සිද්ධිය වහාම වෙඩි තබා ඇත. |
hidden.bs.offcanvas |
පරිශීලකයාගෙන් offcanvas මූලද්රව්යයක් සඟවා ඇති විට මෙම සිදුවීම ක්රියාත්මක වේ (CSS සංක්රාන්ති සම්පූර්ණ වන තෙක් බලා සිටිනු ඇත). |
var myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', function () {
// do something...
})