APIی سوودمەندی
API ی سوودمەند ئامرازێکی بنەمادارە لەسەر Sass بۆ دروستکردنی پۆلەکانی سوودمەندی.
سوودمەندییەکانی بووتستراپ بە APIی سوودمەندی ئێمە دروست دەکرێن و دەتوانرێت بەکاربهێنرێت بۆ دەستکاریکردن یان درێژکردنەوەی کۆمەڵەی پێشوەختەی پۆلەکانی سوودمەندیمان لە ڕێگەی Sass. API سوودبەخشەکەمان لەسەر بنەمای زنجیرەیەک نەخشە و فەنکشنی Sass بۆ دروستکردنی خێزانەکانی پۆلەکان بە بژاردەی جۆراوجۆر دامەزراوە. ئەگەر بە نەخشەکانی ساس ئاشنا نیت، لە دۆکیومێنتە فەرمییەکانی ساس بخوێنەرەوە بۆ ئەوەی دەست پێ بکەیت.
$utilities
نەخشەکە هەموو سوودمەندیەکانمان لەخۆدەگرێت و دواتر لەگەڵ نەخشەی تایبەتتدا تێکەڵ دەکرێت ، $utilities
ئەگەر هەبێت. نەخشەی سوودمەندیەکان لیستی کلیلدار لە گروپەکانی سوودمەندی لەخۆدەگرێت کە ئەم هەڵبژاردنانەی خوارەوە قبوڵ دەکەن:
بژاردە | جۆر | بةهاى دواكةوتن | وەسف |
---|---|---|---|
property |
داواکراو | – | ناوی تایبەتمەندییەکە، ئەمە دەتوانێت ڕیزێک بێت یان ڕیزێک لە ڕیزەکان (بۆ نموونە، پادکردنی ئاسۆیی یان پەراوێز). |
values |
داواکراو | – | لیستی بەهاکان، یان نەخشەیەک ئەگەر ناتەوێت ناوی پۆلەکە وەک بەهاکە بێت. ئەگەر null وەک کلیلی نەخشە بەکارهات، class پێش ناوی پۆلەکە نەبەستراوەتەوە. |
class |
ئارەزوومەندانە | هیچ | ناوی پۆلی دروستکراو. ئەگەر دابین نەکرابێت و property ڕیزبەندییەک بێت لە ڕیزەکان، class بە پێشوەختە دەبێت بۆ یەکەم توخم لە property ڕیزبەندەکە. ئەگەر دابین نەکرابێت و property ڕیزێک بێت، values کلیلەکان بۆ class ناوەکان بەکاردەهێنرێن. |
css-var |
ئارەزوومەندانە | false |
بولی بۆ دروستکردنی گۆڕاوەی CSS لەبری یاساکانی CSS. |
css-variable-name |
ئارەزوومەندانە | هیچ | ناوی بێ پێشگرە تایبەتمەندەکە بۆ گۆڕاوەی CSS لە ناو کۆمەڵە یاساکەدا. |
local-vars |
ئارەزوومەندانە | هیچ | نەخشەی گۆڕاوە ناوخۆییەکانی CSS بۆ دروستکردن جگە لە یاساکانی CSS. |
state |
ئارەزوومەندانە | هیچ | لیستی جۆرەکانی پۆلی ساختە (بۆ نموونە، :hover یان :focus ) بۆ دروستکردن. |
responsive |
ئارەزوومەندانە | false |
بولی ئاماژە بەوە دەکات کە ئایا پێویستە پۆلە وەڵامدەرەوەکان دروست بکرێن. |
rfs |
ئارەزوومەندانە | false |
بولی بۆ چالاککردنی دووبارە پێوانەکردنی شلە بە RFS . |
print |
ئارەزوومەندانە | false |
بولی ئاماژە بەوە دەکات کە ئایا پۆلەکانی چاپکردن پێویستیان بە دروستکردن هەیە. |
rtl |
ئارەزوومەندانە | true |
بولی ئاماژە بەوە دەکات کە ئایا سوودمەندی دەبێت لە RTLدا هەڵبگیرێت. |
API ڕوون کراوەتەوە
هەموو گۆڕاوە سوودبەخشەکان زیاد دەکرێن بۆ $utilities
گۆڕاوەکە لەناو _utilities.scss
ستایلشیتەکەماندا. هەر گروپێک لە خزمەتگوزارییەکان شتێکی بەم شێوەیە دەردەکەون:
$utilities: (
"opacity": (
property: opacity,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
کە ئەمانەی خوارەوە دەردەهێنێت:
.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }
سامان
کلیلی پێویست property
دەبێت بۆ هەر سوودمەندێک ڕێکبخرێت، و دەبێت تایبەتمەندییەکی CSSی دروستی تێدابێت. ئەم تایبەتمەندییە لە کۆمەڵە یاساکانی سوودمەندی دروستکراودا بەکاردێت. کاتێک class
کلیلەکە لادەبرێت، هەروەها وەک ناوی پۆلی پێشوەختە کاردەکات. text-decoration
سوودمەندییەکە لەبەرچاو بگرە :
$utilities: (
"text-decoration": (
property: text-decoration,
values: none underline line-through
)
);
دەرچوون:
.text-decoration-none { text-decoration: none !important; }
.text-decoration-underline { text-decoration: underline !important; }
.text-decoration-line-through { text-decoration: line-through !important; }
بەهاکان
کلیلەکە بەکاربهێنە values
بۆ دیاریکردنی ئەوەی کە کام بەها بۆ دیاریکراوەکان property
دەبێت لە ناو و یاساکانی پۆلی دروستکراودا بەکاربهێنرێت. دەتوانێت لیستێک یان نەخشەیەک بێت (لە سوودمەندییەکان یان لە گۆڕاوێکی ساسدا دانراوە).
وەک لیستێک، وەک لەگەڵ text-decoration
سوودمەندیەکان :
values: none underline line-through
وەک نەخشەیەک، وەک لەگەڵ opacity
خزمەتگوزارییەکان :
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
وەک گۆڕاوێکی Sass کە لیستەکە یان نەخشەکە دادەنێت، وەک لە position
سوودمەندیەکانماندا :
values: $position-values
پۆل
بژاردەکە بەکاربهێنە class
بۆ گۆڕینی پێشگرەکەی پۆلەکە کە لە CSS ی کۆمپایڵکراودا بەکارهاتووە. بۆ نموونە بۆ گۆڕینی لە .opacity-*
بۆ .o-*
:
$utilities: (
"opacity": (
property: opacity,
class: o,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
دەرچوون:
.o-0 { opacity: 0 !important; }
.o-25 { opacity: .25 !important; }
.o-50 { opacity: .5 !important; }
.o-75 { opacity: .75 !important; }
.o-100 { opacity: 1 !important; }
ئەگەر class: null
, پۆلەکان بۆ هەریەک لە values
کلیلەکان دروست دەکات:
$utilities: (
"visibility": (
property: visibility,
class: null,
values: (
visible: visible,
invisible: hidden,
)
)
);
دەرچوون:
.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }
سوودمەندییەکانی گۆڕاوەی CSS
css-var
هەڵبژاردەی boolean دابنێ true
و API گۆڕاوە ناوخۆییەکانی CSS بۆ هەڵبژێرەری پێدراو لەبری property: value
یاسا ئاساییەکان دروست دەکات. زیادکردنی هەڵبژاردەیەک css-variable-name
بۆ دانانی ناوی گۆڕاوێکی جیاوازی CSS لە ناوی پۆلەکە.
بیر لە .text-opacity-*
خزمەتگوزارییەکانمان بکەنەوە. ئەگەر css-variable-name
بژاردەکە زیاد بکەین، دەرچوونێکی تایبەتمان دەست دەکەوێت.
$utilities: (
"text-opacity": (
css-var: true,
css-variable-name: text-alpha,
class: text-opacity,
values: (
25: .25,
50: .5,
75: .75,
100: 1
)
),
);
دەرچوون:
.text-opacity-25 { --bs-text-alpha: .25; }
.text-opacity-50 { --bs-text-alpha: .5; }
.text-opacity-75 { --bs-text-alpha: .75; }
.text-opacity-100 { --bs-text-alpha: 1; }
گۆڕاوە ناوخۆییەکانی CSS
بژاردەکە بەکاربهێنە local-vars
بۆ دیاریکردنی نەخشەی Sass کە گۆڕاوە ناوخۆییەکانی CSS لەناو کۆمەڵە یاساکانی پۆلی سوودمەندیدا دروست دەکات. تکایە تێبینی بکە کە لەوانەیە پێویستی بە کاری زیاتر بێت بۆ بەکارهێنانی ئەو گۆڕاوە ناوخۆییانەی CSS لە یاساکانی CSS دروستکراودا. بۆ نموونە .bg-*
خزمەتگوزارییەکانمان لەبەرچاو بگرن:
$utilities: (
"background-color": (
property: background-color,
class: bg,
local-vars: (
"bg-opacity": 1
),
values: map-merge(
$utilities-bg-colors,
(
"transparent": transparent
)
)
)
);
دەرچوون:
.bg-primary {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}
دەوڵەتەکان
بژاردەکە بەکاربهێنە state
بۆ دروستکردنی گۆڕانکارییەکانی پۆلی ساختە. نموونەی پۆلە ساختەکان بریتین لە :hover
و :focus
. کاتێک لیستی دۆخەکان دابین دەکرێت، ناوی پۆلەکان بۆ ئەو پۆلە ساختەیە دروست دەکرێن. بۆ نموونە بۆ گۆڕینی opacity لەسەر hover زیاد بکە state: hover
و دەچیتە .opacity-hover:hover
ناو CSS ی کۆمپایڵکراوەکەتەوە.
پێویستت بە چەندین پۆلی ساختەیە؟ لیستی دۆخەکان کە بە بۆشایی جیاکراوەتەوە بەکاربهێنە: state: hover focus
.
$utilities: (
"opacity": (
property: opacity,
class: opacity,
state: hover,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
دەرچوون:
.opacity-0-hover:hover { opacity: 0 !important; }
.opacity-25-hover:hover { opacity: .25 !important; }
.opacity-50-hover:hover { opacity: .5 !important; }
.opacity-75-hover:hover { opacity: .75 !important; }
.opacity-100-hover:hover { opacity: 1 !important; }
وەڵامدەرەوە
بولی زیاد بکە responsive
بۆ دروستکردنی سوودمەندی وەڵامدەرەوە (بۆ نموونە، .opacity-md-25
) لە سەرانسەری هەموو خاڵەکانی شکاندن .
$utilities: (
"opacity": (
property: opacity,
responsive: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
دەرچوون:
.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }
@media (min-width: 576px) {
.opacity-sm-0 { opacity: 0 !important; }
.opacity-sm-25 { opacity: .25 !important; }
.opacity-sm-50 { opacity: .5 !important; }
.opacity-sm-75 { opacity: .75 !important; }
.opacity-sm-100 { opacity: 1 !important; }
}
@media (min-width: 768px) {
.opacity-md-0 { opacity: 0 !important; }
.opacity-md-25 { opacity: .25 !important; }
.opacity-md-50 { opacity: .5 !important; }
.opacity-md-75 { opacity: .75 !important; }
.opacity-md-100 { opacity: 1 !important; }
}
@media (min-width: 992px) {
.opacity-lg-0 { opacity: 0 !important; }
.opacity-lg-25 { opacity: .25 !important; }
.opacity-lg-50 { opacity: .5 !important; }
.opacity-lg-75 { opacity: .75 !important; }
.opacity-lg-100 { opacity: 1 !important; }
}
@media (min-width: 1200px) {
.opacity-xl-0 { opacity: 0 !important; }
.opacity-xl-25 { opacity: .25 !important; }
.opacity-xl-50 { opacity: .5 !important; }
.opacity-xl-75 { opacity: .75 !important; }
.opacity-xl-100 { opacity: 1 !important; }
}
@media (min-width: 1400px) {
.opacity-xxl-0 { opacity: 0 !important; }
.opacity-xxl-25 { opacity: .25 !important; }
.opacity-xxl-50 { opacity: .5 !important; }
.opacity-xxl-75 { opacity: .75 !important; }
.opacity-xxl-100 { opacity: 1 !important; }
}
چاپکردن
هەروەها چالاککردنی print
هەڵبژاردنەکە پۆلی سوودبەخش بۆ چاپکردن دروست دەکات، کە تەنها لەناو پرسیاری میدیادا جێبەجێ دەکرێن.@media print { ... }
$utilities: (
"opacity": (
property: opacity,
print: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
دەرچوون:
.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }
@media print {
.opacity-print-0 { opacity: 0 !important; }
.opacity-print-25 { opacity: .25 !important; }
.opacity-print-50 { opacity: .5 !important; }
.opacity-print-75 { opacity: .75 !important; }
.opacity-print-100 { opacity: 1 !important; }
}
گرنگی
هەموو ئەو سوودمەندیانەی کە لەلایەن API دروست دەکرێن لەخۆدەگرن !important
بۆ دڵنیابوون لەوەی کە پێکهاتەکان و پۆلەکانی دەستکاریکەر وەک مەبەست دەسڕنەوە. دەتوانیت ئەم ڕێکخستنە بە شێوەیەکی جیهانی بە $enable-important-utilities
گۆڕاوەکە بگۆڕیت (بەپێی پێشوەختە بۆ true
).
بەکارهێنانی API
ئێستا کە ئاشنا بوویت بە چۆنیەتی کارکردنی API ی سوودمەندیەکان، فێربە چۆن پۆلە تایبەتەکانی خۆت زیاد بکەیت و سوودمەندییە پێشوەختەکانمان دەستکاری بکەیت.
سەرپێچی لە خزمەتگوزارییەکان بکە
بە بەکارهێنانی هەمان کلیل، سوودمەندییە هەبووەکان جێبەجێ بکە. بۆ نموونە ئەگەر پۆلی سوودمەندی ڕژانی وەڵامدەرەوەی زیادەت دەوێت، دەتوانیت ئەمە بکەیت:
$utilities: (
"overflow": (
responsive: true,
property: overflow,
values: visible hidden scroll auto,
),
);
زیادکردنی خزمەتگوزارییەکان
دەتوانرێت سوودمەندی نوێ زیاد بکرێت بۆ $utilities
نەخشەی پێشوەختە بە map-merge
. دڵنیابە لە فایلە پێویستەکانی Sass ی ئێمە و _utilities.scss
سەرەتا هاوردە دەکرێن، پاشان بەکاربهێنە map-merge
بۆ زیادکردنی سوودمەندییە زیادەکانت. بۆ نموونە لێرەدا چۆنێتی زیادکردنی cursor
سوودمەندی وەڵامدەرەوە بە سێ بەها دەخەینەڕوو.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
@import "bootstrap/scss/utilities/api";
دەستکاری خزمەتگوزارییەکان بکە
$utilities
دەستکاری سوودمەندییە هەبووەکان بکە لە نەخشەی پێشوەختەدا بە map-get
و map-merge
ئەرکەکان. لەم نموونەیەی خوارەوەدا، ئێمە بەهایەکی زیادە بۆ width
سوودمەندییەکان زیاد دەکەین. بە سەرەتایەک دەست پێ بکە map-merge
و پاشان دیاری بکە کە دەتەوێت کام سوودمەندی دەستکاری بکەیت. لەوێشەوە "width"
نەخشەی هێلانەکراو لەگەڵ وەربگرە map-get
بۆ دەستگەیشتن و دەستکاریکردنی هەڵبژاردە و بەهاکانی سوودمەندەکە.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": map-merge(
map-get($utilities, "width"),
(
values: map-merge(
map-get(map-get($utilities, "width"), "values"),
(10: 10%),
),
),
),
)
);
@import "bootstrap/scss/utilities/api";
وەڵامدەرەوە چالاک بکە
دەتوانیت پۆلە وەڵامدەرەوەکان بۆ کۆمەڵێک سوودمەندی هەبوو چالاک بکەیت کە لە ئێستادا بە شێوازی پێشوەختە وەڵامدەرەوە نین. بۆ نموونە بۆ ئەوەی border
پۆلەکان وەڵامدەرەوە بن:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
)
);
@import "bootstrap/scss/utilities/api";
ئێستا ئەمە گۆڕانکاری وەڵامدەرەوەی هەر خاڵێکی شکاندن .border
و .border-0
بۆ هەر خاڵێکی شکاندن دروست دەکات. CSS دروستکراوەکەت بەم شێوەیە دەبێت:
.border { ... }
.border-0 { ... }
@media (min-width: 576px) {
.border-sm { ... }
.border-sm-0 { ... }
}
@media (min-width: 768px) {
.border-md { ... }
.border-md-0 { ... }
}
@media (min-width: 992px) {
.border-lg { ... }
.border-lg-0 { ... }
}
@media (min-width: 1200px) {
.border-xl { ... }
.border-xl-0 { ... }
}
@media (min-width: 1400px) {
.border-xxl { ... }
.border-xxl-0 { ... }
}
ناوی سوودمەندیەکان بگۆڕە
سوودمەندییەکانی v4 ون بوون، یان ڕاهاتوون بە ڕێکەوتنێکی تری ناونانی؟ دەتوانرێت API ی سوودمەندیەکان بەکاربهێنرێت بۆ سەرپێچیکردنی دەرئەنجامی class
سوودمەندییەکی دیاریکراو- بۆ نموونە، بۆ گۆڕینی ناوی .ms-*
سوودمەندیەکان بۆ کۆن .ml-*
:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"margin-start": map-merge(
map-get($utilities, "margin-start"),
( class: ml ),
),
)
);
@import "bootstrap/scss/utilities/api";
خزمەتگوزارییەکان لاببە
هەریەکێک لە سوودمەندییە پێشوەختەکان بە map-remove()
فەنکشنی Sass لابەرە .
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
// Remove multiple utilities with a comma-separated list
$utilities: map-remove($utilities, "width", "float");
@import "bootstrap/scss/utilities/api";
هەروەها دەتوانیت map-merge()
فەنکشنی Sass بەکاربهێنیت و کلیلی گروپەکە دابنێیت null
بۆ لابردنی سوودمەندییەکە.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": null
)
);
@import "bootstrap/scss/utilities/api";
زیادکردن، لابردنی، دەستکاریکردن
دەتوانیت بە یەکجار زۆرێک لە سوودمەندیەکان زیاد بکەیت و لاببەیت و دەستکاری بکەیت بە map-merge()
فەنکشنی Sass . لێرەدا چۆن دەتوانیت نموونەکانی پێشوو کۆبکەیتەوە بۆ یەک نەخشەی گەورەتر.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
// Remove the `width` utility
"width": null,
// Make an existing utility responsive
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
// Add new utilities
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
@import "bootstrap/scss/utilities/api";
سوودمەندی لە RTL لاببە
هەندێک لە کەیسی لێوارەکان ستایلکردنی RTL قورس دەکەن , وەکو هێڵ شکاندن لە زمانی عەرەبیدا. بەم شێوەیە دەتوانرێت سوودمەندیەکان لە دەرچوونی RTL لاببرێن بە ڕێکخستنی rtl
بژاردەکە بۆ false
:
$utilities: (
"word-wrap": (
property: word-wrap word-break,
class: text,
values: (break: break-word),
rtl: false
),
);
دەرچوون:
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
ئەمە هیچ شتێک لە RTL دەرنادات، بەهۆی ڕێنمایی کۆنترۆڵکردنی RTLCSSremove
.