آفکانوس
د یو څو ټولګیو او زموږ د جاواسکریپټ پلگ ان سره د نیویګیشن ، شاپینګ کارټونو او نور ډیر څه لپاره په خپله پروژه کې پټ سایډ بارونه جوړ کړئ.
څنګه کار کوي
Offcanvas د سائډبار برخه ده چې د جاواسکریپټ له لارې د لید پورټ کیڼ ، ښیې ، پورتنۍ یا لاندې څنډې څخه څرګندیدل کیدی شي. تڼۍ یا اینکرونه د محرکاتو په توګه کارول کیږي کوم چې د ځانګړو عناصرو سره نښلول کیږي چې تاسو یې بدل کړئ، او data
ځانګړتیاوې زموږ د جاوا سکریپټ غوښتنه کولو لپاره کارول کیږي.
- Offcanvas ځینې ورته جاواسکریپټ کوډ د ماډلونو په توګه شریکوي. په تصور کې، دوی خورا ورته دي، مګر دوی جلا جلا پلگ ان دي.
- په ورته ډول، د آفکانوس سټایلونو او ابعادو لپاره ځینې سرچینې Sass متغیرونه د ماډل متغیرونو څخه په میراث کې دي.
- کله چې ښودل شوي، آف کینوس کې یو ډیفالټ شالید شامل دی چې د آف کینوس پټولو لپاره کلیک کیدی شي.
- د موډلونو په څیر، په یو وخت کې یوازې یو آف کینوس ښودل کیدی شي.
پورته شه! د دې په پام کې نیولو سره چې CSS حرکتونه څنګه اداره کوي، تاسو نشئ کولی margin
یو translate
عنصر .offcanvas
وکاروئ. پرځای یې، ټولګي د خپلواک ریپینګ عنصر په توګه وکاروئ.
prefers-reduced-motion
رسنیو په پوښتنو پورې اړه لري. زموږ د لاسرسي اسنادو کم شوي حرکت برخه وګورئ
.
مثالونه
د آفکانوس اجزا
لاندې د آف کینوس مثال دی چې د ډیفالټ لخوا ښودل شوی (د .show
on له لارې .offcanvas
). Offcanvas کې د نږدې تڼۍ سره د سرلیک ملاتړ او د ځینې ابتدايي لپاره د اختیاري بدن ټولګي padding
شامل دي. موږ وړاندیز کوو چې تاسو د آف کینوس سرلیکونه شامل کړئ هرکله چې ممکنه وي د ګوښه کولو عملونو سره ، یا د څرګند ګوښه کولو عمل چمتو کړئ.
آفکانوس
<div class="offcanvas offcanvas-start show" 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" 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
ټولګي سره په عنصر باندې بدلوي .offcanvas
.
.offcanvas
مینځپانګه پټوي (ډیفالټ).offcanvas.show
منځپانګه ښيي
تاسو کولی شئ د ځانګړتیا سره یو لینک href
وکاروئ، یا د ځانګړتیا سره تڼۍ data-bs-target
. په دواړو حالتونو کې، data-bs-toggle="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" 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" data-bs-toggle="dropdown">
Dropdown button
</button>
<ul class="dropdown-menu">
<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>
د بدن سکرول
د <body>
عنصر سکرول کول غیر فعال کیږي کله چې آف کینوس او د هغې شالید لیدل کیږي. data-bs-scroll
د سکرول کولو وړ کولو لپاره خاصیت وکاروئ <body>
.
د بدن سکرول کولو سره آف کینوس
د پاڼي پاتې برخه سکرول کولو هڅه وکړئ ترڅو دا اختیار په عمل کې وګورئ.
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Enable body scrolling</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">Offcanvas with body scrolling</h5>
<button type="button" class="btn-close" 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>
د بدن سکرول او پس منظر
تاسو کولی شئ <body>
د لید شالید سره سکرول کول هم فعال کړئ.
د سکرول کولو سره شالید
د پاڼي پاتې برخه سکرول کولو هڅه وکړئ ترڅو دا اختیار په عمل کې وګورئ.
<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" tabindex="-1" id="offcanvasWithBothOptions" aria-labelledby="offcanvasWithBothOptionsLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel">Backdrop with scrolling</h5>
<button type="button" class="btn-close" 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>
جامد پس منظر
کله چې شالید جامد ته ټاکل شوی وي، آف کینوس به د هغې څخه بهر د کلیک کولو پرمهال بند نشي.
آفکانوس
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#staticBackdrop" aria-controls="staticBackdrop">
Toggle static offcanvas
</button>
<div class="offcanvas offcanvas-start" data-bs-backdrop="static" tabindex="-1" id="staticBackdrop" aria-labelledby="staticBackdropLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="staticBackdropLabel">Offcanvas</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div>
I will not close if you click outside of me.
</div>
</div>
</div>
تیاره آف کینوس
په v5.2.0 کې اضافه شوید آفکینواسونو بڼه د افادیتونو سره بدل کړئ ترڅو دوی د مختلف شرایطو لکه تیاره نیوبارونو سره ښه سمون ومومي. دلته موږ د تور بند کینوس سره د مناسب سټایل کولو لپاره او ته اضافه .text-bg-dark
کوو . که تاسو دننه ډراپ ډاونونه لرئ، د اضافه کولو په اړه هم غور وکړئ ..offcanvas
.btn-close-white
.btn-close
.dropdown-menu-dark
.dropdown-menu
آفکانوس
د کینوس مینځپانګه دلته ځای په ځای کړئ.
<div class="offcanvas offcanvas-start show text-bg-dark" tabindex="-1" id="offcanvasDark" aria-labelledby="offcanvasDarkLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasDarkLabel">Offcanvas</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvasDark" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Place offcanvas content here.</p>
</div>
</div>
ځواب ورکوونکی
په v5.2.0 کې اضافه شویځواب ویونکي آف کینوس ټولګي د لید څخه بهر مینځپانګه د ټاکل شوي وقفې نقطې او ښکته څخه پټوي. د دې وقفې څخه پورته، دننه مینځپانګې به د معمول په څیر چلند وکړي. د مثال په توګه، .offcanvas-lg
د بریک پواینټ لاندې په آفکانوس کې مینځپانګې پټوي lg
، مګر مینځپانګه د بریک پواینټ څخه پورته ښیې lg
.
ځواب ویونکی آف کینوس
دا په یو کې مینځپانګه ده .offcanvas-lg
.
<button class="btn btn-primary d-lg-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasResponsive" aria-controls="offcanvasResponsive">Toggle offcanvas</button>
<div class="alert alert-info d-none d-lg-block">Resize your browser to show the responsive offcanvas toggle.</div>
<div class="offcanvas-lg offcanvas-end" tabindex="-1" id="offcanvasResponsive" aria-labelledby="offcanvasResponsiveLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasResponsiveLabel">Responsive offcanvas</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#offcanvasResponsive" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p class="mb-0">This is content within an <code>.offcanvas-lg</code>.</p>
</div>
</div>
ځواب ویونکي آف کینوس ټولګي د هرې وقفې نقطې لپاره شتون لري.
.offcanvas
.offcanvas-sm
.offcanvas-md
.offcanvas-lg
.offcanvas-xl
.offcanvas-xxl
ځای پرځای کول
د آف کینوس اجزاو لپاره د ډیفالټ ځای پرځای کول شتون نلري ، نو تاسو باید لاندې د ترمیم کونکي ټولګیو څخه یو اضافه کړئ.
.offcanvas-start
د ویوپورټ کیڼ اړخ ته آف کینوس ځایونه (پورته ښودل شوی).offcanvas-end
د ویوپورټ په ښي خوا کې آف کینوس ځای په ځای کوي.offcanvas-top
د ویوپورټ په سر کې آف کینوس ځای په ځای کوي.offcanvas-bottom
د ویوپورټ په ښکته کې آف کینوس ځای په ځای کوي
پورته، ښیې، او لاندې مثالونه لاندې هڅه وکړئ.
د کینوس سر پورته
<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 class="offcanvas-title" id="offcanvasTopLabel">Offcanvas top</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
د کانواس حق
<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 class="offcanvas-title" id="offcanvasRightLabel">Offcanvas right</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
د کینوس لاندې
<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" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body small">
...
</div>
</div>
لاسرسی
څرنګه چې د آف کینوس پینل په مفهوم سره یو موډل ډیالوګ دی، ډاډ ترلاسه کړئ چې aria-labelledby="..."
د آف کینوس سرلیک ته حواله کول— ته اضافه کړئ .offcanvas
. په یاد ولرئ چې تاسو اړتیا نلرئ اضافه کړئ role="dialog"
ځکه چې موږ دمخه دا د جاواسکریپټ له لارې اضافه کړی.
سی ایس ایس
متغیرات
په v5.2.0 کې اضافه شوید بوټسټریپ د پرمختللې CSS متغیر تګلارې د یوې برخې په توګه ، offcanvas اوس ځایی CSS متغیرونه د .offcanvas
ریښتیني وخت اصلاح کولو لپاره کاروي. د CSS متغیرونو لپاره ارزښتونه د Sass له لارې تنظیم شوي، نو د Sass تخصیص لاهم هم ملاتړ کیږي.
--#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};
--#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};
--#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};
--#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};
--#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};
--#{$prefix}offcanvas-color: #{$offcanvas-color};
--#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};
--#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};
--#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};
--#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};
د Sass متغیرات
$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-backdrop-bg: $modal-backdrop-bg;
$offcanvas-backdrop-opacity: $modal-backdrop-opacity;
کارول
د آف کینوس پلگ ان د درنو پورته کولو اداره کولو لپاره یو څو ټولګي او ځانګړتیاوې کاروي:
.offcanvas
مواد پټوي.offcanvas.show
منځپانګه ښيي.offcanvas-start
په کیڼ اړخ کې آفکانوس پټوي.offcanvas-end
ښي خوا ته آفکانوس پټوي.offcanvas-top
په سر کې آفکانوس پټوي.offcanvas-bottom
آفکانوس په لاندینۍ برخه کې پټوي
د خاصیت سره د ګوښه کولو تڼۍ اضافه کړئ data-bs-dismiss="offcanvas"
، کوم چې د جاواسکریپټ فعالیت پیلوي. ډاډ ترلاسه کړئ چې <button>
په ټولو وسیلو کې د مناسب چلند لپاره د دې سره عنصر وکاروئ.
د معلوماتو ځانګړتیاو له لارې
ټګ
اضافه کړئ data-bs-toggle="offcanvas"
او a data-bs-target
یا href
عنصر ته په اتوماتيک ډول د یو آف کینوس عنصر کنټرول وټاکئ. خاصیت د data-bs-target
CSS انتخاب کونکی مني چې د آفکانوس پلي کولو لپاره. ډاډ ترلاسه کړئ چې ټولګي offcanvas
د آف کینوس عنصر ته اضافه کړئ. که تاسو غواړئ چې دا په ډیفالټ خلاص شي، اضافي ټولګي اضافه کړئ show
.
ګوښه کول
ګوښه کول د آفکنوس دننه دdata
تڼۍ د ځانګړتیا سره ترلاسه کیدی شي لکه څنګه چې لاندې ښودل شوي:
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
یا د آفکانوس څخه بهر په یوه تڼۍ کې د لاندې ښودل شوي په کارولو سره data-bs-target
:
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#my-offcanvas" aria-label="Close"></button>
د جاواسکریپټ له لارې
په لاسي ډول د دې سره فعال کړئ:
const offcanvasElementList = document.querySelectorAll('.offcanvas')
const offcanvasList = [...offcanvasElementList].map(offcanvasEl => new bootstrap.Offcanvas(offcanvasEl))
اختیارونه
لکه څنګه چې اختیارونه د ډیټا ځانګړتیاو یا جاوا سکریپټ له لارې لیږدول کیدی شي، تاسو کولی شئ د اختیار نوم په کې ضمیمه کړئ data-bs-
، لکه څنګه چې په کې data-bs-animation="{value}"
. ډاډ ترلاسه کړئ چې د اختیار نوم د قضیې ډول د " camelCase " څخه " کباب-کیس " ته بدل کړئ کله چې اختیارونه د ډیټا ځانګړتیاو له لارې تیریږي. د مثال په توګه، د 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 د شالید لپاره مشخص کړئ کوم چې د کلیک کولو پر مهال آفکانوس بند نه کوي. |
keyboard |
بولین | true |
کله چې د فرار کیلي فشار ورکړل شي آف کینوس بندوي. |
scroll |
بولین | false |
د بدن سکرول کولو ته اجازه ورکړئ پداسې حال کې چې آف کینوس خلاص وي. |
میتودونه
غیر متناسب میتودونه او لیږدونه
د API ټولې طریقې غیر متناسب دي او لیږد پیل کوي . کله چې لیږد پیل شي دوی بیرته زنګ وهونکي ته راستانه کیږي مګر مخکې له دې چې پای ته ورسیږي . برسېره پردې، د لیږدونکي برخې په اړه د میتود غوښتنې به له پامه غورځول شي .
ستاسو مینځپانګه د آف کینوس عنصر په توګه فعالوي. یو اختیاري اختیارونه مني object
.
تاسو کولی شئ د جوړونکي سره د آف کینوس مثال رامینځته کړئ ، د مثال په توګه:
const bsOffcanvas = new bootstrap.Offcanvas('#myOffcanvas')
طریقه | تفصیل |
---|---|
getInstance |
جامد میتود کوم چې تاسو ته اجازه درکوي د DOM عنصر سره تړلی آفکانوس مثال ترلاسه کړئ. |
getOrCreateInstance |
جامد میتود کوم چې تاسو ته اجازه درکوي د DOM عنصر سره تړلي offcanvas مثال ترلاسه کړئ ، یا یو نوی رامینځته کړئ که چیرې دا پیل شوی نه وي. |
hide |
د آف کینوس عنصر پټوي. زنګ وهونکي ته بیرته راستنیږي مخکې لدې چې د آف کینوس عنصر واقعیا پټ شوی وي (یعنې مخکې له دې چې hidden.bs.offcanvas پیښه پیښ شي). |
show |
د آف کینوس عنصر ښیې. زنګ وهونکي ته بیرته راستنیږي مخکې لدې چې د آف کینوس عنصر واقعیا ښودل شوی وي (یعنې مخکې له دې چې shown.bs.offcanvas پیښه پیښ شي). |
toggle |
د ښودل شوي یا پټولو لپاره د آف کینوس عنصر بدلوي. زنګ وهونکي ته بیرته راستنیږي مخکې لدې چې د آف کینوس عنصر واقعیا ښودل شوی یا پټ شوی وي (د بیلګې په توګه مخکې لدې چې shown.bs.offcanvas یا hidden.bs.offcanvas پیښه پیښ شي). |
پیښې
د بوټسټریپ آف کینوس ټولګي د آف کینوس فعالیت ته د رسیدو لپاره یو څو پیښې افشا کوي.
د پیښې ډول | تفصیل |
---|---|
hide.bs.offcanvas |
دا پیښه سمدلاسه له مینځه وړل کیږي کله چې hide میتود ویل کیږي. |
hidden.bs.offcanvas |
دا پیښه هغه وخت له مینځه وړل کیږي کله چې د آف کینوس عنصر د کارونکي څخه پټ شوی وي (د CSS لیږد بشپړیدو ته به انتظار وکړي). |
hidePrevented.bs.offcanvas |
دا پیښه هغه وخت ډزې کیږي کله چې آفکانوس ښودل کیږي، د هغې شالید دی static او د آفکانوس څخه بهر یو کلیک ترسره کیږي. پیښه هم هغه وخت چلول کیږي کله چې د فرار کیلي فشار ورکړل شي او keyboard اختیار په false . |
show.bs.offcanvas |
دا پیښه سمدلاسه اوریږي کله چې د show مثال میتود ویل کیږي. |
shown.bs.offcanvas |
دا پیښه له مینځه وړل کیږي کله چې د آف کینوس عنصر کارونکي ته ښکاره شي (د CSS لیږد بشپړیدو ته به انتظار وکړي). |
const myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', event => {
// do something...
})