യൂട്ടിലിറ്റി API
യൂട്ടിലിറ്റി ക്ലാസുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള സാസ് അടിസ്ഥാനമാക്കിയുള്ള ഉപകരണമാണ് യൂട്ടിലിറ്റി API.
ബൂട്ട്സ്ട്രാപ്പ് യൂട്ടിലിറ്റികൾ ഞങ്ങളുടെ യൂട്ടിലിറ്റി എപിഐ ഉപയോഗിച്ചാണ് ജനറേറ്റ് ചെയ്യുന്നത്, ഇത് സാസ് വഴി ഞങ്ങളുടെ ഡിഫോൾട്ട് യൂട്ടിലിറ്റി ക്ലാസുകൾ പരിഷ്ക്കരിക്കാനോ വിപുലീകരിക്കാനോ ഉപയോഗിക്കാം. ഞങ്ങളുടെ യൂട്ടിലിറ്റി API വിവിധ ഓപ്ഷനുകളുള്ള ക്ലാസുകളുടെ കുടുംബങ്ങൾ സൃഷ്ടിക്കുന്നതിനുള്ള സാസ് മാപ്പുകളുടെയും ഫംഗ്ഷനുകളുടെയും ഒരു പരമ്പരയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. നിങ്ങൾക്ക് Sass മാപ്പുകൾ പരിചയമില്ലെങ്കിൽ, ആരംഭിക്കുന്നതിന് ഔദ്യോഗിക Sass ഡോക്സ് വായിക്കുക.
മാപ്പിൽ ഞങ്ങളുടെ എല്ലാ യൂട്ടിലിറ്റികളും അടങ്ങിയിരിക്കുന്നു , ഉണ്ടെങ്കിൽ അത് പിന്നീട് നിങ്ങളുടെ ഇഷ്ടാനുസൃത മാപ്പുമായി $utilities
ലയിപ്പിക്കും . $utilities
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ സ്വീകരിക്കുന്ന യൂട്ടിലിറ്റി ഗ്രൂപ്പുകളുടെ ഒരു കീഡ് ലിസ്റ്റ് യൂട്ടിലിറ്റി മാപ്പിൽ അടങ്ങിയിരിക്കുന്നു:
ഓപ്ഷൻ | ടൈപ്പ് ചെയ്യുക | വിവരണം |
---|---|---|
property |
ആവശ്യമാണ് | പ്രോപ്പർട്ടിയുടെ പേര്, ഇത് ഒരു സ്ട്രിംഗോ സ്ട്രിംഗുകളുടെ ഒരു നിരയോ ആകാം (ഉദാ, തിരശ്ചീന പാഡിംഗുകൾ അല്ലെങ്കിൽ മാർജിനുകൾ). |
values |
ആവശ്യമാണ് | മൂല്യങ്ങളുടെ ലിസ്റ്റ്, അല്ലെങ്കിൽ ക്ലാസിന്റെ പേര് മൂല്യത്തിന് തുല്യമാകാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ ഒരു മാപ്പ്. null മാപ്പ് കീ ആയി ഉപയോഗിക്കുകയാണെങ്കിൽ, അത് കംപൈൽ ചെയ്തിട്ടില്ല . |
class |
ഓപ്ഷണൽ | പ്രോപ്പർട്ടി പോലെയാകാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ ക്ലാസിന്റെ പേരിന് വേരിയബിൾ. നിങ്ങൾ കീ നൽകിയില്ലെങ്കിൽ class , property കീ സ്ട്രിംഗുകളുടെ ഒരു നിരയാണെങ്കിൽ, ക്ലാസിന്റെ പേര് property അറേയുടെ ആദ്യ ഘടകമായിരിക്കും. |
state |
ഓപ്ഷണൽ | യൂട്ടിലിറ്റിക്ക് വേണ്ടിയുള്ളതോ സൃഷ്ടിക്കുന്നതോ :hover ആയ കപട-ക്ലാസ് വേരിയന്റുകളുടെ ലിസ്റ്റ് . :focus സ്ഥിര മൂല്യമില്ല. |
responsive |
ഓപ്ഷണൽ | പ്രതികരിക്കുന്ന ക്ലാസുകൾ സൃഷ്ടിക്കേണ്ടതുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ബൂലിയൻ. false സ്ഥിരസ്ഥിതിയായി. |
rfs |
ഓപ്ഷണൽ | ഫ്ലൂയിഡ് റീസ്കെയിലിംഗ് പ്രവർത്തനക്ഷമമാക്കാൻ ബൂളിയൻ. ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് കണ്ടെത്താൻ RFS പേജ് നോക്കുക . false സ്ഥിരസ്ഥിതിയായി. |
print |
ഓപ്ഷണൽ | പ്രിന്റ് ക്ലാസുകൾ സൃഷ്ടിക്കേണ്ടതുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ബൂളിയൻ. false സ്ഥിരസ്ഥിതിയായി. |
rtl |
ഓപ്ഷണൽ | RTL-ൽ യൂട്ടിലിറ്റി സൂക്ഷിക്കണമോ എന്ന് സൂചിപ്പിക്കുന്ന ബൂലിയൻ. true സ്ഥിരസ്ഥിതിയായി. |
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; }
ഇഷ്ടാനുസൃത ക്ലാസ് പ്രിഫിക്സ്
class
സമാഹരിച്ച CSS-ൽ ഉപയോഗിച്ചിരിക്കുന്ന ക്ലാസ് പ്രിഫിക്സ് മാറ്റാനുള്ള ഓപ്ഷൻ ഉപയോഗിക്കുക :
$utilities: (
"opacity": (
property: opacity,
class: o,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
ഔട്ട്പുട്ട്:
.o-0 { opacity: 0; }
.o-25 { opacity: .25; }
.o-50 { opacity: .5; }
.o-75 { opacity: .75; }
.o-100 { opacity: 1; }
സംസ്ഥാനങ്ങൾ
state
കപട-ക്ലാസ് വ്യതിയാനങ്ങൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഓപ്ഷൻ ഉപയോഗിക്കുക . ഉദാഹരണം കപട ക്ലാസുകൾ :hover
എന്നിവയാണ് :focus
. സംസ്ഥാനങ്ങളുടെ ഒരു ലിസ്റ്റ് നൽകുമ്പോൾ, ആ കപട-വർഗത്തിന് ക്ലാസ് നാമങ്ങൾ സൃഷ്ടിക്കപ്പെടുന്നു. ഉദാഹരണത്തിന്, ഹോവറിലെ അതാര്യത മാറ്റാൻ, ചേർക്കുക , നിങ്ങളുടെ സമാഹരിച്ച CSS-ൽ state: hover
നിങ്ങൾക്ക് ലഭിക്കും ..opacity-hover:hover
ഒന്നിലധികം കപട ക്ലാസുകൾ ആവശ്യമുണ്ടോ? സ്റ്റേറ്റുകളുടെ സ്പേസ് വേർതിരിച്ച ലിസ്റ്റ് ഉപയോഗിക്കുക 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; }
}
യൂട്ടിലിറ്റികൾ മാറ്റുന്നു
അതേ കീ ഉപയോഗിച്ച് നിലവിലുള്ള യൂട്ടിലിറ്റികൾ അസാധുവാക്കുക. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് കൂടുതൽ പ്രതികരിക്കുന്ന ഓവർഫ്ലോ യൂട്ടിലിറ്റി ക്ലാസുകൾ വേണമെങ്കിൽ, നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയും:
$utilities: (
"overflow": (
responsive: true,
property: overflow,
values: visible hidden scroll auto,
),
);
പ്രിന്റ് യൂട്ടിലിറ്റികൾ
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; }
}
പ്രാധാന്യം
എപിഐ സൃഷ്ടിക്കുന്ന എല്ലാ യൂട്ടിലിറ്റികളിലും !important
അവ ഉദ്ദേശിച്ച രീതിയിൽ ഘടകങ്ങളും മോഡിഫയർ ക്ലാസുകളും അസാധുവാക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്നത് ഉൾപ്പെടുന്നു. വേരിയബിൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഈ ക്രമീകരണം ആഗോളതലത്തിൽ ടോഗിൾ ചെയ്യാം $enable-important-utilities
(ഡിഫോൾട്ടായി ലേക്ക് true
).
API ഉപയോഗിക്കുന്നു
യൂട്ടിലിറ്റീസ് API എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് ഇപ്പോൾ നിങ്ങൾക്ക് പരിചിതമാണ്, നിങ്ങളുടെ സ്വന്തം ഇഷ്ടാനുസൃത ക്ലാസുകൾ എങ്ങനെ ചേർക്കാമെന്നും ഞങ്ങളുടെ ഡിഫോൾട്ട് യൂട്ടിലിറ്റികൾ എങ്ങനെ പരിഷ്ക്കരിക്കാമെന്നും മനസിലാക്കുക.
യൂട്ടിലിറ്റികൾ ചേർക്കുക
$utilities
ഒരു ഉപയോഗിച്ച് ഡിഫോൾട്ട് മാപ്പിലേക്ക് പുതിയ യൂട്ടിലിറ്റികൾ ചേർക്കാവുന്നതാണ് map-merge
. _utilities.scss
ഞങ്ങൾക്ക് ആവശ്യമുള്ള Sass ഫയലുകൾ ആദ്യം ഇമ്പോർട്ടുചെയ്തതാണെന്ന് ഉറപ്പാക്കുക , തുടർന്ന് map-merge
നിങ്ങളുടെ അധിക യൂട്ടിലിറ്റികൾ ചേർക്കാൻ ഉപയോഗിക്കുക. ഉദാഹരണത്തിന്, cursor
മൂന്ന് മൂല്യങ്ങളുള്ള ഒരു റെസ്പോൺസീവ് യൂട്ടിലിറ്റി എങ്ങനെ ചേർക്കാമെന്ന് ഇവിടെയുണ്ട്.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
യൂട്ടിലിറ്റികൾ പരിഷ്കരിക്കുക
$utilities
ഡിഫോൾട്ട് മാപ്പിൽ map-get
നിലവിലുള്ള യൂട്ടിലിറ്റികൾ പരിഷ്കരിക്കുക map-merge
. ചുവടെയുള്ള ഉദാഹരണത്തിൽ, ഞങ്ങൾ width
യൂട്ടിലിറ്റികൾക്ക് ഒരു അധിക മൂല്യം ചേർക്കുന്നു. ഒരു ഇനീഷ്യൽ ഉപയോഗിച്ച് ആരംഭിക്കുക map-merge
, തുടർന്ന് ഏത് യൂട്ടിലിറ്റിയാണ് നിങ്ങൾ പരിഷ്കരിക്കാൻ ആഗ്രഹിക്കുന്നതെന്ന് വ്യക്തമാക്കുക. അവിടെ നിന്ന്, യൂട്ടിലിറ്റിയുടെ ഓപ്ഷനുകളും മൂല്യങ്ങളും ആക്സസ് ചെയ്യുന്നതിനും പരിഷ്ക്കരിക്കുന്നതിനും നെസ്റ്റഡ് "width"
മാപ്പ് ലഭ്യമാക്കുക.map-get
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@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%),
),
),
),
)
);
പ്രതികരണം പ്രവർത്തനക്ഷമമാക്കുക
സ്ഥിരസ്ഥിതിയായി നിലവിൽ പ്രതികരിക്കാത്ത നിലവിലുള്ള യൂട്ടിലിറ്റികളുടെ ഒരു കൂട്ടം നിങ്ങൾക്ക് റെസ്പോൺസീവ് ക്ലാസുകൾ പ്രവർത്തനക്ഷമമാക്കാം. ഉദാഹരണത്തിന്, border
ക്ലാസുകൾ പ്രതികരിക്കുന്നതിന്:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
)
);
ഇത് ഇപ്പോൾ ഓരോ ബ്രേക്ക്പോയിന്റിനും പ്രതികരണാത്മകമായ വ്യതിയാനങ്ങൾ .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/utilities";
$utilities: map-merge(
$utilities, (
"margin-start": map-merge(
map-get($utilities, "margin-start"),
( class: ml ),
),
)
);
യൂട്ടിലിറ്റികൾ നീക്കം ചെയ്യുക
ഗ്രൂപ്പ് കീ സജ്ജീകരിക്കുന്നതിലൂടെ ഏതെങ്കിലും ഡിഫോൾട്ട് യൂട്ടിലിറ്റികൾ നീക്കം ചെയ്യുക null
. ഉദാഹരണത്തിന്, ഞങ്ങളുടെ എല്ലാ width
യൂട്ടിലിറ്റികളും നീക്കംചെയ്യുന്നതിന്, ഒരു സൃഷ്ടിച്ച് ഉള്ളിൽ $utilities
map-merge
ചേർക്കുക "width": null
.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": null
)
);
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-ൽ ഒന്നും ഔട്ട്പുട്ട് ചെയ്യുന്നില്ല , RTLCSS remove
നിയന്ത്രണ നിർദ്ദേശത്തിന് നന്ദി .