መጠወቒታት
ንተግባራት ኣብ ቅጥዕታት፣ ዝርርባትን ካልእን ምስ ደገፍ ንብዙሕ ዓቐናት፣ ኩነታትን ካልእን ናይ Bootstrap ብሕታዊ ቅዲታት መጠወቒ ተጠቐም።
ኣብነታት
ቡትስትራፕ ሓያሎ ኣቐዲሞም ዝተነጸሩ ቅዲታት መጠወቒ ዘጠቓልል ኮይኑ፡ ነፍሲ ወከፎም ናይ ገዛእ ርእሶም ትርጉማዊ ዕላማ ዘገልግሉ ኮይኖም፡ ንዝያዳ ምቁጽጻር ውሑዳት ተወሳኺ ዝድርበዩ እዮም።
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-light">Light</button>
<button type="button" class="btn btn-dark">Dark</button>
<button type="button" class="btn btn-link">Link</button>
ንሓገዝቲ ቴክኖሎጂታት ትርጉም ምትሕልላፍ
ትርጉም ንምውሳኽ ሕብሪ ምጥቃም ስእላዊ ምልክት ጥራይ እዩ ዝህብ፣ እዚ ድማ ንተጠቀምቲ ሓገዝቲ ቴክኖሎጂታት - ከም ስክሪን ሪደርስ - ኣይመሓላለፍን እዩ። ብሕብሪ ዝተመልከተ ሓበሬታ ወይ ካብቲ ትሕዝቶ ባዕሉ ርኡይ ምዃኑ ኣረጋግጽ (ንኣብነት እቲ ዝርአ ጽሑፍ)፣ ወይ ድማ ብኣማራጺ ኣገባብ ከም ዝሕወስ ኣረጋግጽ፣ ከም ተወሳኺ ጽሑፍ ምስቲ .visually-hidden
ክፍሊ ዝተሓብአ።
ጽሑፍ ምጥቕላል ኣሰናኽል
እቲ ናይ ���ጠወቒ ጽሑፍ ክጥቕለል እንተዘይደሊኻ፡ ነቲ .text-nowrap
ክፍሊ ኣብቲ መጠወቒ ክትውስኾ ትኽእል ኢኻ። $btn-white-space: nowrap
ኣብ ሳስ ንነፍሲ ወከፍ መጠወቒ ምጥቕላል ጽሑፍ ንምስንኻል ከተቐምጥ ትኽእል ኢኻ ።
ናይ መጠወቒ መለለዪታት
እቶም ክፍልታት ምስቲ ባእታ .btn
ንኽጥቀሙ ዝተዳለዉ እዮም ። ይኹን እምበር፡ ነዞም ክፍልታት ኣብ ወይ ባእታታት <button>
እውን ክትጥቀመሎም ትኽእል ኢኻ (ዋላ እኳ ገለ ዳህሰስቲ ቁሩብ ዝተፈልየ ኣቀራርባ ክጥቀሙ ይኽእሉ እንተኾኑ)።<a>
<input>
ኣብ ውሽጢ ገጽ ንዘሎ ተግባር ንምብጋስ ዝጥቀሙ <a>
ባእታታት (ከም ምዕጻፍ ትሕዝቶ) ኣብ ክንዲ ናብ ሓደስቲ ገጻት ወይ ክፍልታት ኣብ ውሽጢ እቲ ህሉው ገጽ ምትእስሳር፡ እዞም መላግቦታት role="button"
ዕላማኦም ናብ ከም ዝኣመሰሉ ሓገዝቲ ቴክኖሎጂታት ብግቡእ ንምትሕልላፍ a ክወሃቦም ይግባእ ስክሪን ሪደርስ ዝበሃሉ ምዃኖም ይፍለጥ።
<a class="btn btn-primary" href="#" role="button">Link</a>
<button class="btn btn-primary" type="submit">Button</button>
<input class="btn btn-primary" type="button" value="Input">
<input class="btn btn-primary" type="submit" value="Submit">
<input class="btn btn-primary" type="reset" value="Reset">
ናይ ኣውታር መጠወቒታት
መጠወቒ ዘድልዮ፡ ግን እቲ ዘምጽእዎ ጽዑቕ ድሕረ ባይታ ሕብርታት ኣይኮነን? ነቶም ነባሪ ናይ መቐየሪ ክፍልታት በቶም .btn-outline-*
ኣብ ዝኾነ መጠወቒ ንዘለዉ ኩሎም ድሕረ ባይታ ምስልታትን ሕብርታትን ንምእላይ ዝሕግዙ ተክእዎም።
<button type="button" class="btn btn-outline-primary">Primary</button>
<button type="button" class="btn btn-outline-secondary">Secondary</button>
<button type="button" class="btn btn-outline-success">Success</button>
<button type="button" class="btn btn-outline-danger">Danger</button>
<button type="button" class="btn btn-outline-warning">Warning</button>
<button type="button" class="btn btn-outline-info">Info</button>
<button type="button" class="btn btn-outline-light">Light</button>
<button type="button" class="btn btn-outline-dark">Dark</button>
ዓቐናት
ዓበይቲ ወይ ዝነኣሱ መጠወቒታት ትፈትዉ? ምውሳኽ .btn-lg
ወይ .btn-sm
ንተወሳኺ ዓቐናት።
<button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-secondary btn-lg">Large button</button>
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-secondary btn-sm">Small button</button>
ስንክልና ዘለዎ ኩነታት
disabled
ኣብ ዝኾነ <button>
ባእታ ቡልያን ባህሪ ብምውሳኽ መጠወቒታት ዘይንጡፋት ከም ዝመስሉ ግበሮም ። ዝተሰናኸሉ መጠወቒታት ኣብ pointer-events: none
ተግባራዊ ኮይኖም ኣለዉ፣ ሆቨርን ንጡፋት ኩነታትን ከይጅምሩ ይከላኸሉ።
<button type="button" class="btn btn-lg btn-primary" disabled>Primary button</button>
<button type="button" class="btn btn-secondary btn-lg" disabled>Button</button>
ነቲ ባእታ ዝጥቀሙ ዝተሰናኸሉ መጠወቒታት <a>
ቁሩብ ዝተፈላለየ ባህሪ ኣለዎም፤
<a>
s ነቲ ባህሪ ኣይድግፍዎን እዮም፣ ስለዚ ብዓይኒ ተሰናኺሉ ንኽመስልdisabled
ነቲ ክፍሊ ክትውስኾ ኣለካ ።.disabled
- ገለ ንመጻኢ ዝምችኡ ቅዲታት ንኹሉ
pointer-events
ኣብ መልህቕ መጠወቒታት ንምስንኻል ተሓዊሶም ኣለዉ። - ዝጥቀሙ ስንኩላን መጠወቒታት ንኹነታት ናይቲ ባእታ ንሓጋዚ ቴክኖሎጂታት ንምምልካት ባህሪ
<a>
ከጠቓልሉ ይግባእ ።aria-disabled="true"
- ዝጥቀሙ ስንኩላን መጠወቒታት ነቲ ባህሪ ከካትቱ
<a>
የብሎምን ።href
<a class="btn btn-primary btn-lg disabled" role="button" aria-disabled="true">Primary link</a>
<a class="btn btn-secondary btn-lg disabled" role="button" aria-disabled="true">Link</a>
ናይ ምትእስሳር ተግባር መጠንቀቕታ
href
ነቲ ባህሪ ኣብ ዝተሰናኸለ መላግቦ ክትሕዞ ዘለካ ጉዳያት ንምሽፋን ፡ እቲ .disabled
ክፍሊ ናይ s pointer-events: none
ናይ ምትእስሳር ተግባር ንምስንኻል ንምፍታን ይጥቀመሉ። <a>
እዚ ናይ CSS ንብረት ገና ንHTML ደረጃ ከምዘይተገብረሉ ኣስተውዕል፣ ግን ኩሎም ዘመናውያን ዳህሰስቲ ይድግፍዎ። ብተወሳኺ፡ ዋላ ኣብ መርበብ ሓበሬታታት ዝድግፉ pointer-events: none
፡ ምዝዋር ቁልፊ ሰሌዳ ዘይተጸልወ ኮይኑ ይቕጽል፡ እዚ ማለት ድማ ርእዮም ዘለዎም ተጠቀምቲ ቁልፊ ሰሌዳን ተጠቀምቲ ሓጋዚ ቴክኖሎጂታትን ጌና ነዞም መላግቦታት ከንቀሳቕሱ ክኽእሉ እዮም። ስለዚ ውሑስ ንምዃን፡ ብዘይካ ፡ ከምኡ’ውን ኣብዞም መላግቦታት ትኹረት ቁልፊ ሰሌዳ ከይረኽቡ aria-disabled="true"
ዝሕግዝ ባህሪ ኣካትት ፣ ከምኡ’ውን ንተግባራቶም ጠቕሊልካ ንምስንኻል ብሕታዊ ጃቫስክሪፕት ተጠቐም።tabindex="-1"
<a href="#" class="btn btn-primary btn-lg disabled" tabindex="-1" role="button" aria-disabled="true">Primary link</a>
<a href="#" class="btn btn-secondary btn-lg disabled" tabindex="-1" role="button" aria-disabled="true">Link</a>
መጠወቒታት ምዕጋት።
ከምቲ ኣብ ቡትስትራፕ 4 ዘሎ ምሉእ ስፍሓት ዘለዎም፡ “ብሎክ መጠወቒታት” ዘለዎም ምላሽ ዝህቡ ስቴክስ ምስ ምትሕውዋስ ናይ ዲስፕለይን ክፍተትን ዩቲሊቲታትና ምፍጣር። ኣብ ክንዲ ናይ መጠወቒ ፍሉያት ክፍልታት ዩቲሊቲታት ብምጥቃም፡ ኣብ ልዕሊ ርሕቀት፡ ኣሰላልፋን ምላሽ ዝህቡ ባህርያትን ኣዝዩ ዝዓበየ ቁጽጽር ኣሎና።
<div class="d-grid gap-2">
<button class="btn btn-primary" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
ኣብዚ ምላሽ ዝህብ ለውጢ ንፈጥር፣ ብቐጥታ ዝተደራረቡ መጠወቒታት ጀሚርና ክሳብ እቲ md
ነጥቢ ምብታኽ፣ ኣብኡ ድማ ነቲ ክፍሊ .d-md-block
ይትክኦ ፣ በዚ ኸኣ ነቲ ዩቲሊቲ ባዶ ንገብሮ። ክቕየሩ ንምርኣይ ንዓቐን መርበብ ሓበሬታኻ ምቕያር።.d-grid
gap-2
<div class="d-grid gap-2 d-md-block">
<button class="btn btn-primary" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
ስፍሓት ናይ ብሎክ መጠወቒታትካ ብናይ ሽቦ ዓምዲ ስፍሓት ክፍልታት ከተመዓራርዮ ትኽእል ኢኻ። ንኣብነት፡ ንፍርቂ ስፍሓት ዘለዎ “ብሎክ መጠወቒ” .col-6
፡ . ብኣግማድ ኣማእኽልዎ ብ .mx-auto
, too.
<div class="d-grid gap-2 col-6 mx-auto">
<button class="btn btn-primary" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
ተወሳኺ ዩቲሊቲታት ንኣሰላልፋ መጠወቒታት ልኡም ኣብ ዝኾኑሉ እዋን ንምትዕርራይ ክጥቀሙ ይኽእሉ። ኣብዚ ቅድሚ ሕጂ ዝገበርናዮ ምላሽ ዝህብ ኣብነት ወሲድና ገለ ፍሌክስ ዩቲሊቲታትን ኣብቲ መጠወቒ ማርጅን ዩቲሊቲን ወሲኽናዮም ኣለና፡ ነቶም መጠወቒታት ድሕሪ ደጊም ኣብ ዘይተደራረቡሉ እዋን ንየማን ንምስላፍ።
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
<button class="btn btn-primary me-md-2" type="button">Button</button>
<button class="btn btn-primary" type="button">Button</button>
</div>
ናይ መጠወቒ ተወሰኽቲ
እቲ ናይ መጠወቒ ፕላግ-ኢን ቀለልቲ ናይ ምውላዕ/ምጥፋእ መጠወቒታት ክትፈጥር የኽእለካ።
ግዝኣታት ምቕያር
data-bs-toggle="button"
ናይ ሓደ መጠወቒ ኩነታት ንምቕያር ምውሳኽ active
። ንሓደ መጠወቒ ኣቐዲምካ ትቕይሮ እንተኾንካ፡ ነቲ .active
ክፍሊ ብኢድካ ክትውስኾን ናብ ሓገዝቲ ቴክኖሎጂታት ብግቡእ ከም ዝመሓላለፍን ንምርግጋጽን ኣለካ ። aria-pressed="true"
<button type="button" class="btn btn-primary" data-bs-toggle="button" autocomplete="off">Toggle button</button>
<button type="button" class="btn btn-primary active" data-bs-toggle="button" autocomplete="off" aria-pressed="true">Active toggle button</button>
<button type="button" class="btn btn-primary" disabled data-bs-toggle="button" autocomplete="off">Disabled toggle button</button>
<a href="#" class="btn btn-primary" role="button" data-bs-toggle="button">Toggle link</a>
<a href="#" class="btn btn-primary active" role="button" data-bs-toggle="button" aria-pressed="true">Active toggle link</a>
<a class="btn btn-primary disabled" aria-disabled="true" role="button" data-bs-toggle="button">Disabled toggle link</a>
ኣገባባት
ብሃናጺ መጠወቒ ናይ መጠወቒ ምሳሌ ክትፈጥር ትኽእል ኢኻ፣ ንኣብነት፤
var button = document.getElementById('myButton')
var bsButton = new bootstrap.Button(button)
ሜላ | መግለፂ |
---|---|
toggle |
ንናይ ምድፋእ ኩነታት ይቕይር። ነቲ መጠወቒ ከም ዝተንቀሳቐሰ መልክዕ ይህቦ። |
dispose |
ናይ ሓደ ባእታ መጠወቒ የጥፍኦ። (ኣብ DOM element ዝተዓቀበ ዳታ የወግድ) |
getInstance |
ምስ ሓደ DOM element ዝተኣሳሰር ናይ button instance ንምርካብ ዘኽእለካ Static method፣ ከምዚ ጌርካ ክትጥቀመሉ ትኽእል ኢኻ፤bootstrap.Button.getInstance(element) |
getOrCreateInstance |
ምስ ሓደ DOM ባእታ ዝተኣሳሰር ናይ መጠወቒ ምሳሌ ዝምለስ ወይ ንዘይተበገሰሉ ሓድሽ ዝፈጥር ስታትቲክ ሜላ። ከምዚ ጌርካ ክትጥቀመሉ ትኽእል ኢኻ፤bootstrap.Button.getOrCreateInstance(element) |
ንኣብነት ንኹሎም መጠወቒታት ንምቕያር
var buttons = document.querySelectorAll('.btn')
buttons.forEach(function (button) {
var button = new bootstrap.Button(button)
button.toggle()
})
ሳስ
ተለዋዋጢ ረቛሒታት
$btn-padding-y: $input-btn-padding-y;
$btn-padding-x: $input-btn-padding-x;
$btn-font-family: $input-btn-font-family;
$btn-font-size: $input-btn-font-size;
$btn-line-height: $input-btn-line-height;
$btn-white-space: null; // Set to `nowrap` to prevent text wrapping
$btn-padding-y-sm: $input-btn-padding-y-sm;
$btn-padding-x-sm: $input-btn-padding-x-sm;
$btn-font-size-sm: $input-btn-font-size-sm;
$btn-padding-y-lg: $input-btn-padding-y-lg;
$btn-padding-x-lg: $input-btn-padding-x-lg;
$btn-font-size-lg: $input-btn-font-size-lg;
$btn-border-width: $input-btn-border-width;
$btn-font-weight: $font-weight-normal;
$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075);
$btn-focus-width: $input-btn-focus-width;
$btn-focus-box-shadow: $input-btn-focus-box-shadow;
$btn-disabled-opacity: .65;
$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125);
$btn-link-color: $link-color;
$btn-link-hover-color: $link-hover-color;
$btn-link-disabled-color: $gray-600;
// Allows for customizing button radius independently from global border radius
$btn-border-radius: $border-radius;
$btn-border-radius-sm: $border-radius-sm;
$btn-border-radius-lg: $border-radius-lg;
$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
$btn-hover-bg-shade-amount: 15%;
$btn-hover-bg-tint-amount: 15%;
$btn-hover-border-shade-amount: 20%;
$btn-hover-border-tint-amount: 10%;
$btn-active-bg-shade-amount: 20%;
$btn-active-bg-tint-amount: 20%;
$btn-active-border-shade-amount: 25%;
$btn-active-border-tint-amount: 10%;
ሚክሲን ዝበሃሉ ምዃኖም ይፍለጥ
ንመጠወቒታት ሰለስተ ሚክሲን ኣለዉ: መጠወቒን መጠወቒ ኣውታር ፍልልይ ሚክሲንን (ክልቲኦም ኣብ , ዝተመርኮሱ $theme-colors
)፣ ተወሳኺ ናይ መጠወቒ ዓቐን ሚክሲን።
@mixin button-variant(
$background,
$border,
$color: color-contrast($background),
$hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
$hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
$hover-color: color-contrast($hover-background),
$active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
$active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
$active-color: color-contrast($active-background),
$disabled-background: $background,
$disabled-border: $border,
$disabled-color: color-contrast($disabled-background)
) {
color: $color;
@include gradient-bg($background);
border-color: $border;
@include box-shadow($btn-box-shadow);
&:hover {
color: $hover-color;
@include gradient-bg($hover-background);
border-color: $hover-border;
}
.btn-check:focus + &,
&:focus {
color: $hover-color;
@include gradient-bg($hover-background);
border-color: $hover-border;
@if $enable-shadows {
@include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
}
}
.btn-check:checked + &,
.btn-check:active + &,
&:active,
&.active,
.show > &.dropdown-toggle {
color: $active-color;
background-color: $active-background;
// Remove CSS gradients if they're enabled
background-image: if($enable-gradients, none, null);
border-color: $active-border;
&:focus {
@if $enable-shadows {
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
}
}
}
&:disabled,
&.disabled {
color: $disabled-color;
background-color: $disabled-background;
// Remove CSS gradients if they're enabled
background-image: if($enable-gradients, none, null);
border-color: $disabled-border;
}
}
@mixin button-outline-variant(
$color,
$color-hover: color-contrast($color),
$active-background: $color,
$active-border: $color,
$active-color: color-contrast($active-background)
) {
color: $color;
border-color: $color;
&:hover {
color: $color-hover;
background-color: $active-background;
border-color: $active-border;
}
.btn-check:focus + &,
&:focus {
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
.btn-check:checked + &,
.btn-check:active + &,
&:active,
&.active,
&.dropdown-toggle.show {
color: $active-color;
background-color: $active-background;
border-color: $active-border;
&:focus {
@if $enable-shadows {
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
}
}
&:disabled,
&.disabled {
color: $color;
background-color: transparent;
}
}
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
padding: $padding-y $padding-x;
@include font-size($font-size);
// Manually declare to provide an override to the browser default
@include border-radius($border-radius, 0);
}
ሉፕስ
ፍልልያት መጠወቒ (ንስሩዕን ኣውታርን መጠወቒታት) በብወገኖም ምስ $theme-colors
ካርታና ዝጥቀሙሉ ሚክሲናት ተጠቒሞም ኣብ scss/_buttons.scss
.
@each $color, $value in $theme-colors {
.btn-#{$color} {
@include button-variant($value, $value);
}
}
@each $color, $value in $theme-colors {
.btn-outline-#{$color} {
@include button-outline-variant($value);
}
}