ሞዳል
ለብርሃን ሳጥኖች፣ የተጠቃሚ ማሳወቂያዎች ወይም ሙሉ ለሙሉ ብጁ ይዘት ወደ ጣቢያዎ መገናኛዎችን ለመጨመር የ Bootstrap's JavaScript ሞዳል ተሰኪን ይጠቀሙ።
እንዴት እንደሚሰራ
በBootstrap ሞዳል አካል ከመጀመራችን በፊት፣የእኛ ምናሌ አማራጮች በቅርብ ጊዜ ስለተቀየሩ የሚከተለውን ማንበብዎን እርግጠኛ ይሁኑ።
- ሞዳልሎች በኤችቲኤምኤል፣ ሲኤስኤስ እና ጃቫስክሪፕት የተገነቡ ናቸው። እነሱ በሰነዱ ውስጥ ካሉት ሁሉም ነገሮች ላይ ተቀምጠዋል እና
<body>
በምትኩ የሞዳል ይዘት እንዲሸብልል ጥቅልሉን ያስወግዱት። - ሞዳል "backdrop" ላይ ጠቅ ማድረግ ሞዳልን በራስ-ሰር ይዘጋል.
- Bootstrap በአንድ ጊዜ አንድ ሞዳል መስኮት ብቻ ነው የሚደግፈው። ደካማ የተጠቃሚ ተሞክሮዎች ናቸው ብለን ስለምናምን የጎጆ ሞዳልሎች አይደገፉም።
- ሞዳሎች ይጠቀማሉ
position: fixed
፣ ይህም አንዳንድ ጊዜ ስለ አሠራሩ ትንሽ የተለየ ሊሆን ይችላል። በሚቻልበት ጊዜ ከሌሎች አካላት ሊደርስ የሚችለውን ጣልቃገብነት ለማስወገድ የእርስዎን ሞዳል HTML በከፍተኛ ደረጃ ያስቀምጡት።.modal
በሌላ ቋሚ ኤለመንት ውስጥ ሲሰቅሉ ችግሮች ሊያጋጥሙዎት ይችላሉ ። - አሁንም በድጋሚ፣
position: fixed
በ ተንቀሳቃሽ መሳሪያዎች ላይ ሞዳልሎችን ስለመጠቀም አንዳንድ ማስጠንቀቂያዎች አሉ። ለዝርዝሮች የእኛን የአሳሽ ድጋፍ ሰነዶች ይመልከቱ። - ኤችቲኤምኤል 5 የትርጓሜውን ትርጓሜ እንዴት እንደሚገልፅ ምክንያት የኤችቲኤምኤል ባህሪው በ
autofocus
Bootstrap ሞዳሎች ላይ ምንም ተጽእኖ የለውም። ተመሳሳይ ውጤት ለማግኘት አንዳንድ ብጁ ጃቫስክሪፕት ይጠቀሙ፡
$('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('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="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</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-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-toggle="modal" data-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="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
የማይንቀሳቀስ ዳራ
backdrop ወደ static ሲዋቀር ሞዳል ከሱ ውጪ ጠቅ ሲደረግ አይዘጋም። እሱን ለመሞከር ከታች ያለውን ቁልፍ ጠቅ ያድርጉ።
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#staticBackdrop">
Launch static backdrop modal
</button>
<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-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="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-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 popover-test" title="Popover title" data-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="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> have tooltips on hover.</p>
</div>
ፍርግርግ በመጠቀም
የ Bootstrap ፍርግርግ ስርዓቱን በሞዳል ውስጥ በመክተት .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 ml-auto">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-auto">.col-md-3 .ml-auto</div>
<div class="col-md-2 ml-auto">.col-md-2 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-6 ml-auto">.col-md-6 .ml-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.relatedTarget
ባህሪያትን ይጠቀሙ (ምናልባትም በ jQuery )።data-*
ከዚህ በታች በምሳሌ ኤችቲኤምኤል እና ጃቫስክሪፕት የተከተለ የቀጥታ ማሳያ ነው። ለበለጠ መረጃ በ ላይ ዝርዝሮችን ለማግኘት የሞዳል ሁነቶችን ሰነዶች ያንብቡrelatedTarget
።
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-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="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="recipient-name" class="col-form-label">Recipient:</label>
<input type="text" class="form-control" id="recipient-name">
</div>
<div class="form-group">
<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-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Send message</button>
</div>
</div>
</div>
</div>
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var recipient = button.data('whatever') // Extract info from data-* attributes
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
var modal = $(this)
modal.find('.modal-title').text('New message to ' + recipient)
modal.find('.modal-body input').val(recipient)
})
እነማ ቀይር
$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').modal('handleUpdate')
የማሸብለል ባር ብቅ ካለ ለማስተካከል የሞዳልሉን ቦታ ለማስተካከል መደወል አለብዎት።
ተደራሽነት
aria-labelledby="..."
የሞዳል ርዕስን በመጥቀስ ወደ ማከል እርግጠኛ ይሁኑ .modal
። aria-describedby
በተጨማሪም፣ የሞዳል ንግግርዎን በ ላይ መግለጫ መስጠት ይችላሉ .modal
። role="dialog"
አስቀድመን በጃቫስክሪፕት ስለጨመርን ማከል እንደማያስፈልግህ አስተውል ።
የዩቲዩብ ቪዲዮዎችን በማካተት ላይ
የዩቲዩብ ቪዲዮዎችን በሞዳል ውስጥ መክተት በራስ ሰር መልሶ ማጫወትን ለማቆም እና ተጨማሪ ጃቫ ስክሪፕት በ Bootstrap ውስጥ እንደሌለ ይጠይቃል። ለበለጠ መረጃ ይህንን ጠቃሚ የቁልል ፍሰት ልጥፍ ይመልከቱ።
አማራጭ መጠኖች
ሞዳሎች ሶስት የአማራጭ መጠኖች አሏቸው፣ በአሻሽያ ክፍሎች በኩል በ ሀ ላይ ሊቀመጡ ይችላሉ .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-open
ከሞዳል ውጭ ጠቅ ሲያደርጉ የሚታዩ ሞዳሎችን ለማሰናበት የጠቅ ቦታን ያመነጫል።<body>
.modal-backdrop
በውሂብ ባህሪያት በኩል
ጃቫ ስክሪፕት ሳይጽፉ ሞዳልን ያግብሩ። አንድን ወይም የተወሰነ ሞዳል ለመቀያየር ዒላማ ለማድረግ በተቆጣጣሪ data-toggle="modal"
አካል ላይ እንደ አዝራር ያቀናብሩ ።data-target="#foo"
href="#foo"
<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
በጃቫስክሪፕት በኩል
myModal
ከአንድ የጃቫ ስክሪፕት መስመር ጋር አንድ ሞዳል መታወቂያ ይደውሉ
$('#myModal').modal(options)
አማራጮች
አማራጮች በመረጃ ባህሪያት ወይም በጃቫስክሪፕት ሊተላለፉ ይችላሉ. ለውሂብ ባህሪያት፣ data-
እንደ ውስጥ ያለውን የአማራጭ ስም ወደ ላይ ጨምር data-backdrop=""
።
ስም | ዓይነት | ነባሪ | መግለጫ |
---|---|---|---|
ዳራ | ቡሊያን ወይም ሕብረቁምፊው'static' |
እውነት ነው። | ሞዳል-backdrop አባልን ያካትታል። በአማራጭ፣ static ጠቅ ሲደረግ ሞዳልን የማይዘጋው ለጀርባ ይግለጹ። |
የቁልፍ ሰሌዳ | ቡሊያን | እውነት ነው። | የማምለጫ ቁልፍ ሲጫን ሞዳልን ይዘጋል። |
ትኩረት | ቡሊያን | እውነት ነው። | ሲጀመር ትኩረቱን በሞዳል ላይ ያስቀምጣል. |
አሳይ | ቡሊያን | እውነት ነው። | ሲጀመር ሞዳልን ያሳያል። |
ዘዴዎች
ያልተመሳሰሉ ዘዴዎች እና ሽግግሮች
ሁሉም የኤፒአይ ዘዴዎች ያልተመሳሰሉ ናቸው እና ሽግግር ይጀምራሉ ። ሽግግሩ እንደተጀመረ ግን ከማለቁ በፊት ወደ ደዋዩ ይመለሳሉ ። በተጨማሪም, በመሸጋገሪያ አካል ላይ የሚደረግ ዘዴ ጥሪ ችላ ይባላል .
.modal(options)
ይዘትዎን እንደ ሞዳል ያነቃል። አማራጭ አማራጮችን ይቀበላል object
።
$('#myModal').modal({
keyboard: false
})
.modal('toggle')
ሞዳልን በእጅ ይቀየራል። ሞጁሉ በትክክል ከመታየቱ ወይም ከመደበቅ በፊት (ማለትም ክስተቱ ከመከሰቱ በፊት) ወደshown.bs.modal
ደዋዩ ይመለሳል hidden.bs.modal
።
$('#myModal').modal('toggle')
.modal('show')
ሞዳልን በእጅ ይከፍታል። ሞጁሉ ከመታየቱ በፊት (ማለትም ክስተቱ ከመፈጠሩ በፊት) ወደ ደዋዩ ይመለሳል ።shown.bs.modal
$('#myModal').modal('show')
.modal('hide')
ሞዳልን በእጅ ይደብቃል። ሞዳል በትክክል ከመደበቅ በፊት (ማለትም hidden.bs.modal
ክስተቱ ከመፈጠሩ በፊት) ወደ ደዋዩ ይመለሳል።
$('#myModal').modal('hide')
.modal('handleUpdate')
የሞዳል ሞዳል ክፍት ሲሆን ከፍታው ከተቀየረ (ማለትም የማሸብለያ አሞሌ ከታየ) የሞዳልን ቦታ እራስዎ ያስተካክሉት።
$('#myModal').modal('handleUpdate')
.modal('dispose')
የአንድ ንጥረ ነገር ሞዳልን ያጠፋል.
ክስተቶች
የቡትስትራፕ ሞዳል ክፍል ወደ ሞዳል ተግባር ለመያያዝ ጥቂት ክስተቶችን ያጋልጣል። ሁሉም የሞዳል ሁነቶች የሚተኮሱት በራሱ ሞዳል ላይ ነው (ማለትም በ <div class="modal">
)።
የክስተት አይነት | መግለጫ |
---|---|
አሳይ.bs.ሞዳል | show የምሳሌው ዘዴ ሲጠራ ይህ ክስተት ወዲያውኑ ይቃጠላል . በአንድ ጠቅታ ከተከሰተ፣ ጠቅ የተደረገው አካል እንደ relatedTarget የዝግጅቱ ንብረት ይገኛል። |
የሚታየው.bs.modal | ይህ ክስተት ሞጁሉ ለተጠቃሚው እንዲታይ ከተደረገ (የ CSS ሽግግሮች እስኪጠናቀቅ ድረስ ይጠብቃል) ይባረራል። በአንድ ጠቅታ ከተከሰተ፣ ጠቅ የተደረገው አካል እንደ relatedTarget የዝግጅቱ ንብረት ይገኛል። |
ደብቅ.bs.modal | hide የምሳሌው ዘዴ ሲጠራ ይህ ክስተት ወዲያውኑ ይቃጠላል . |
የተደበቀ.bs.modal | ሞዱሉ ከተጠቃሚው ተደብቆ ሲጠናቀቅ ይህ ክስተት የሚነድ ነው (የCSS ሽግግሮች እስኪጠናቀቁ ድረስ ይጠብቃል)። |
የተከለከለ.bs.modal | ይህ ክስተት የሚቀጣጠለው ሞዳል በሚታይበት ጊዜ፣ ጀርባው ሲሆን static እና ከሞዳል ውጭ ጠቅ ማድረግ ወይም የማምለጫ ቁልፍ መጫን በቁልፍ ሰሌዳው ምርጫ ወይም data-keyboard ወደ ላይ ሲቀናበር ነው false ። |
$('#myModal').on('hidden.bs.modal', function (event) {
// do something...
})