Correa de Botas de Temática
Bootstrap 4 musuq ruwasqa Sass tikraqniykuwan ruway tukuy pacha estilo munasqakunarayku mana sasa temakuna chaymanta componente tikraykunapaq.
Qallariy
Bootstrap 3 kaqpi, temakuna aswanta LESS kaqpi, sapanchasqa CSS kaqpi, chaymanta huk sapaq tema estilo raphipi tikraq llallichiykunawan purichisqa karqa mayqinkunatachus dist
willañiqiykupi churarqayku. Wakin kallpachakuywan, huk tukuyninpi musuqmanta ruwayta atinman Bootstrap 3 kaqpa rikchayninta mana llamispa uma willañiqikunata. Bootstrap 4 huk riqsisqa, ichaqa pisi hukniray ruwayta qun.
Kunanqa, tema ruwayqa Sass variables kaqwan, Sass mapakunawan, chaymanta CSS ruwasqawan hunt'akun. Mana aswan dedicado tema estilo raphi kanchu; aswanpas, ruwasqa temata atichiyta atikunki gradientekuna, llantukuna chaymanta aswan yapanapaq.
Sass
Sass pukyuta willañiqiykuta llamk'achiy tikraqkuna, mapakuna, mixins chaymanta aswan ventajata hapinapaq mayk'aq Sass kikin kaqniyki pipeline kaqwan huñuchkanki.
Willañiqip rurasqan
Atikuqtinqa, Bootstrappa uma willañiqikunata ama tikraychu. Sass kaqpaq, chay niyta munan ruwayta kikin estilo raphiyki chaymanta Bootstrap apamun chaymanta chayta tikrayta chaymanta mast'ariyta atikunki. npm hina huk paquete kamachiqta llamk'achkanki nispa yupaspa, huk willañiqi estructurayuq kanki kayhina rikch'akuq:
your-project/
├── scss
│ └── custom.scss
└── node_modules/
└── bootstrap
├── js
└── scss
Sichus pukyuta willañiqiykuta uraykachirqanki chaymanta mana huk paquete kamachiqta llamk'achkankichu, makiwan chay ruwanaman rikch'akuq ruwayta munanki, Bootstrap pukyuta willañiqikunata sapallaykimanta sapaq waqaychaspa.
your-project/
├── scss
│ └── custom.scss
└── bootstrap/
├── js
└── scss
Importando
Qampa kaqpi custom.scss
, Bootstrap kaqpa pukyuta Sass willañiqikunata apamunki. Iskay akllanakunayuq kanki: llapa Bootstrap kaqmanta churay, utaq necesitasqayki partekunata akllay. Kay qhipa kaqta kallpachayku, ichaqa yachay wakin requisitos chaymanta dependenciakuna kanku tukuy componentesniykupi. Hinallataq wakin JavaScript pluginsniykupaq churanayki tiyan.
// Custom.scss
// Option A: Include all of Bootstrap
// Include any default variable overrides here (though functions won't be available)
@import "../node_modules/bootstrap/scss/bootstrap";
// Then add additional custom code here
// Custom.scss
// Option B: Include parts of Bootstrap
// 1. Include functions first (so you can manipulate colors, SVGs, calc, etc)
@import "../node_modules/bootstrap/scss/functions";
// 2. Include any default variable overrides here
// 3. Include remainder of required Bootstrap stylesheets
@import "../node_modules/bootstrap/scss/variables";
@import "../node_modules/bootstrap/scss/mixins";
// 4. Include any optional Bootstrap components as you like
@import "../node_modules/bootstrap/scss/reboot";
@import "../node_modules/bootstrap/scss/type";
@import "../node_modules/bootstrap/scss/images";
@import "../node_modules/bootstrap/scss/code";
@import "../node_modules/bootstrap/scss/grid";
Chay churaywan, mayqin Sass tikraqkuna chaymanta mapakunaykipi tikrayta qallariyta atikunki custom.scss
. Hinallataq qallariyta atikunki yapayta Bootstrap kaqmanta wakinkuna // Optional
t'aqa ukhupi necesitasqanmanhina. Willañiqiykumanta hunt'asqa apamuy pilata bootstrap.scss
qallariyniyki hina llamk'achiyta yuyaychayku.
Variable nisqa ñawpaqmanta churasqakuna
Sapa Sass tikraq Bootstrap kaqpi !default
banderayuq kachkan chaymanta tikraqpa ñawpaqmanta chanita kikiyki Sass kaqpi mana Bootstrap pukyuta tikraspa llallichiyta atikun. Munasqaykimanhina tikraqkunata qillqaspa k'askachiy, chanikunata tikray, !default
banderatapas hurquy. Sichus huk tikraq churasqaña kachkan, chaymanta mana musuqmanta qusqachu kanqa Bootstrap kaqpi ñawpaqmanta chanikunawan.
Bootstrap kaqpa tikraqninkunap hunt'asqa listanta tarinki kaypi scss/_variables.scss
. Wakin tikraqkuna , nisqaman churasqa kanku null
, kay tikraqkuna mana propiedadta lluqsichinchu mana wakichiyniykipi llallichisqa kaptin.
Variablekuna llalliykuna hamunan tiyan ruwanakunayku, variablekuna, chaymanta mixinkuna hawamanta apamusqa kaptin, ichaqa manaraq puchuq apamusqakuna.
Kaypi huk rikch'ana kachkan chaymanta chaymanta chaypaq tikran background-color
chaymanta color
Bootstrap <body>
npm kaqnintakama apamuspa chaymanta huñuypi:
@import "../node_modules/bootstrap/scss/functions";
// Default variable overrides
$body-bg: #000;
$body-color: #111;
// Required
@import "../node_modules/bootstrap/scss/variables";
@import "../node_modules/bootstrap/scss/mixins";
// Optional Bootstrap components here
@import "../node_modules/bootstrap/scss/root";
@import "../node_modules/bootstrap/scss/reboot";
@import "../node_modules/bootstrap/scss/type";
// etc
Bootstrap kaqpi mayqin tikraqpaqpas necesario hina yapay, uraypi tukuypaq akllanakuna kaqwan.
Mapas y bucles
Bootstrap 4 huk makilla Sass mapakunayuq, llave chanin pariskuna ruwan chaymanta aswan facil ayllukuna tupaq CSS kaqmanta ruwayta ruwan. Sass mapakunata llamk'achiyku llimp'iykupaq, rejilla p'akiyniykupaq, chaymanta aswan. Sass tikraqkuna hina, llapa Sass mapakuna !default
banderayuq kanku chaymanta llallichisqa chaymanta mast'arisqa kanman.
Wakin Sass mapaykuqa ch'usaqkunaman hukllachasqa kachkan ñawpaqmanta. Kayqa ruwakun huk qusqa Sass mapamanta mana sasa mast'ariyta saqinanpaq, ichaqa hamun huk mapamanta imakuna hurquyta aswan sasata ruwanapaq qullqiwan.
Mapata tikray
Mapaykupi huk kachkaq llimp'ita tikranaykipaq $theme-colors
, kayta yapay sapanchasqa Sass willañiqiykiman:
$theme-colors: (
"primary": #0074d9,
"danger": #ff4136
);
Mapaman yapay
Musuq llimp'ita $theme-colors
yapanaykipaqqa, musuq llaveta chanta chanita yapay:
$theme-colors: (
"custom-color": #900
);
Mapamanta hurquy
$theme-colors
, utaq mayqin mapamantapas llimp'ikunata hurqunaykipaqqa , llamk'achiy map-remove
. Yachay chayta churanayki tiyan mañakuyniyku chaymanta akllanayku chawpipi:
// Required
@import "../node_modules/bootstrap/scss/functions";
@import "../node_modules/bootstrap/scss/variables";
@import "../node_modules/bootstrap/scss/mixins";
$theme-colors: map-remove($theme-colors, "info", "light", "dark");
// Optional
@import "../node_modules/bootstrap/scss/root";
@import "../node_modules/bootstrap/scss/reboot";
@import "../node_modules/bootstrap/scss/type";
...
Llaves requeridas
Bootstrap wakin llavekuna específicas kaqpa kayninta Sass mapakuna ukhupi hapin imaynachus ñuqayku llamk'achisqayku chaymanta kaykunata mast'arisqayku. Imaynachus yapasqa mapakuna ruwanki, pantasqakunawan tinkiyta atikunki maypi huk Sass mapapa llaven llamk'achkan.
Ejemplopaq, primary
, success
, chaymanta danger
llaves kaqmanta $theme-colors
llamk'achiyku t'inkikuna, botones chaymanta formulario estadokuna kaqpaq. Kay llavekuna chanikunata tikrayqa mana ima sasachakuykunata rikuchinanchu tiyan, ichaqa chayta hurquyqa Sass huñusqa sasachakuykunata ruwanman. Kay instanciakunapi, Sass codigota tikranayki tiyan mayqinchus chay chanikunata llamk'achin.
Ruwaykuna
Bootstrap achka Sass ruwanakunata llamk'achin, ichaqa huk huch'uy huñulla general tematico kaqpaq ruwanapaq kanku. Kimsa ruwanakunata churarqayku llimp'i mapakunamanta chanikunata jap'inapaq:
@function color($key: "blue") {
@return map-get($colors, $key);
}
@function theme-color($key: "primary") {
@return map-get($theme-colors, $key);
}
@function gray($key: "100") {
@return map-get($grays, $key);
}
Kaykunaqa huk Sass mapamanta huk llimp'ita akllayta atikunki imaynachus huk llimp'i tikraq v3 kaqmanta llamk'achinki hina.
.custom-element {
color: gray("100");
background-color: theme-color("dark");
}
Hinallataqmi huk ruwanayuq kayku mapamanta huk nivel particular colorta chaskinapaq $theme-colors
. Mana allin pata chanikunaqa llimp'ita k'anchanqa, aswan hatun patakunataq yanayachinqa.
@function theme-color-level($color-name: "primary", $level: 0) {
$color: theme-color($color-name);
$color-base: if($level > 0, #000, #fff);
$level: abs($level);
@return mix($color-base, $color, $level * $theme-color-interval);
}
Ruwaypi, ruwayta waqyanki chaymanta iskay parámetros kaqpi pasanki: sutimanta llimp'imanta $theme-colors
(kayhina, primaria utaq peligro) chaymanta huk yupay nivel kaqmanta.
.custom-element {
color: theme-color-level(primary, -10);
}
Yapa ruwanakuna hamuq pachapi yapasqa kanman utaq kikiyki sapanchasqa Sass ruwanapaq nivel ruwanakuna yapasqa Sass mapakunapaq, utaq huk genérico kaqpas sichus aswan verbose kayta munarqanki.
Contraste de colores nisqa
Huk yapasqa ruwana Bootstrap kaqpi churasqaykuqa llimp'i chiqanchay ruwaymi, color-yiq
. YIQ llimp'i espaciota llamk'achin kikinmanta kutichinanpaq huk k'anchay ( #fff
) utaq yana ( #111
) contraste llimp'ita chaymanta nisqa base llimp'i kaqpi. Kay ruwana aswan allin mixins utaq loops kaqpaq maypi achka clasekuna paqarichichkanki.
Ejemplopaq, mapaykumanta color muestrakuna ruwanapaq $theme-colors
:
@each $color, $value in $theme-colors {
.swatch-#{$color} {
color: color-yiq($value);
}
}
Huk kutilla contraste necesidadkunapaqpas llamk'achiy atikunmi:
.custom-element {
color: color-yiq(#000); // returns `color: #fff`
}
Huk sapsi llimp'itapas llimp'i mapa ruwanaykuwan niyta atinki:
.custom-element {
color: color-yiq(theme-color("dark")); // returns `color: #fff`
}
SVG nisqamanta ayqikuy
Ruwayta llamk'achiyku , chaymanta SVG qhipa siq'ikunapaq qillqakuna escape-svg
ayqinapaq . Kay qillqakuna ayqina tiyan IE kaqpi qhipa siq'ikunata allinta ruwanapaq. Ruwayta llamk'achkaspa , willay URIkuna citasqa kanan tiyan.<
>
#
escape-svg
Yanapay hinaspa qichuy ruwaykuna
CSS ruwayta p'istunapaq chaymanta add
ruwanakunata llamk'achiyku . Kay ruwanakunap ñawpaq munayninqa mana pantaykunata ruwanapaqmi, huk “mana unidadniyuq” chanita huk rimayman pasaptin. Imayna rimaykuna llapa maskaqkunapi pantayta kutichinqa, yupaypi chiqan kaptinpas.subtract
calc
0
calc
calc(10px - 0)
Ejemplo maypichus calc allin kasqanmanta:
$border-radius: .25rem;
$border-width: 1px;
.element {
// Output calc(.25rem - 1px) is valid
border-radius: calc($border-radius - $border-width);
}
.element {
// Output the same calc(.25rem - 1px) as above
border-radius: subtract($border-radius, $border-width);
}
Ejemplo maypichus calc mana allinchu:
$border-radius: .25rem;
$border-width: 0;
.element {
// Output calc(.25rem - 0) is invalid
border-radius: calc($border-radius - $border-width);
}
.element {
// Output .25rem
border-radius: subtract($border-radius, $border-width);
}
Sass akllaykuna
Bootstrap 4 ruwasqayku ruwasqa sapanchasqa tikraqkuna willakuyniykuwan ruway chaymanta musuq $enable-*
Sass tikraqkunawan tukuypaq CSS munasqakunata mana sasachu tikray. Huk tikraqpa chaninninta llalliy hinaspa npm run test
necesitasqanman hina musuqmanta huñuy.
Kay tikraqkunata tariyta chaymanta ruwayta atikunki llave global akllanakuna Bootstrap scss/_variables.scss
willañiqipi.
Variable nisqa | Chaninkuna | Willay |
---|---|---|
$spacer |
1rem (ñawpaqmanta churasqa), icha mayqin chanipas > 0 |
Espaciador yanapakuyniyku programawan ruwanapaq ñawpaqmanta espaciador chanita willan . |
$enable-rounded |
true (ñawpaqmanta churasqa) ofalse |
border-radius Imaymana componentekunapi ñawpaqmanta riqsisqa estilokunata atichin . |
$enable-shadows |
true icha false (ñawpaqmanta churasqa) . |
box-shadow Imaymana componentekunapi ñawpaqmanta riqsisqa sumaqchasqa estilokunata atichin . Mana afectanchu box-shadow s utilizados para estados de enfoque. |
$enable-gradients |
true icha false (ñawpaqmanta churasqa) . |
background-image Imaymana componentekunapi estilokuna kaqnintakama ñawpaqmanta riqsisqa gradientekunata atichin . |
$enable-transitions |
true (ñawpaqmanta churasqa) ofalse |
transition Imaymana componentekunapi ñawpaqmanta riqsisqa s atichin . |
$enable-prefers-reduced-motion-media-query |
true (ñawpaqmanta churasqa) ofalse |
prefers-reduced-motion Media tapuyta atichin , mayqinchus wakin kawsachiykunata/t'ikraykunata ñit'in ruwaqkunap maskaq/llamk'ana sistema munasqankumanhina. |
$enable-hover-media-query |
true icha false (ñawpaqmanta churasqa) . |
Deprecado |
$enable-grid-classes |
true (ñawpaqmanta churasqa) ofalse |
Llika llamkanapaq CSS clasekuna paqarichiyta atichin (kayhina, .container , .row , .col-md-1 , hukkunapas). |
$enable-caret |
true (ñawpaqmanta churasqa) ofalse |
Pseudo elemento caret nisqatam atichin .dropdown-toggle . |
$enable-pointer-cursor-for-buttons |
true (ñawpaqmanta churasqa) ofalse |
Mana harkasqa botón elementokunaman “maki” kursuta yapay. |
$enable-print-styles |
true (ñawpaqmanta churasqa) ofalse |
Imprimiyta allinchaypaq estilokunata atichin. |
$enable-responsive-font-sizes |
true icha false (ñawpaqmanta churasqa) . |
Kutichiq qillqa sayaykunata atichin . |
$enable-validation-icons |
true (ñawpaqmanta churasqa) ofalse |
background-image Qillqa yaykuykuna ukhupi iconokuna atichin chaymanta wakin sapanchasqa formulariokuna chiqaqchay estadokuna kaqpaq. |
$enable-deprecation-messages |
true (ñawpaqmanta churasqa) ofalse |
Kayman churay false willaykunata pakanapaq mayqin mana llamk'achisqa mixinkuna chaymanta ruwanakuna llamk'achkaspa mayqinkunachus v5 . |
Llinpi
Achka Bootstrap imaymana componentekuna chaymanta yanapakuyninkuna huk Sass mapapi riqsichisqa llimp'ikuna qatiqninwan ruwasqa. Kay mapaqa Sass nisqapi llimp'isqa kanman, huk kamachiy huñukunata utqaylla paqarichinanpaq.
Tukuy llimpikuna
Llapan llimp'ikuna Bootstrap 4 kaqpi tarikuq, Sass tikraq hina chaymanta huk Sass mapa scss/_variables.scss
willañiqipi tarikun. Kayqa qatiq uchuy lluqsichiykunapi mast'arisqa kanqa yapa llimp'ikuna yapanapaq, anchata hina gris escala paleta yaykusqayku hina.
Kaypi imaynatachus kaykunata Sass nisqaykipi llamk'achiyta atinki:
// With variable
.alpha { color: $purple; }
// From the Sass map with our `color()` function
.beta { color: color("purple"); }
Color utilidad clasekunapas kanmi churanapaq color
chaymanta background-color
.
Tema colores
Llapa llimp'ikunamanta huk huch'uy huñuta llamk'achiyku huk aswan huch'uy llimp'ikuna ruwanapaq llimp'ikuna ruwanapaq, chaymanta Sass tikraq hina chaymanta huk Sass mapa Bootstrap scss/_variables.scss
willañiqipi tarikun.
Grises
Un expansivo conjunto de variables grises y un mapa Sass en scss/_variables.scss
para tonos consistentes de gris a través de tu proyecto. Reparay kaykunaqa “q’uñi griskuna” kasqankuta, chaykunaqa huk sutil azul tonoman tendenciayuq kanku, manataq grises neutrales kaqkunamanchu.
, ukhupi scss/_variables.scss
, Bootstrap llimp'i tikraqkunata chaymanta Sass mapata tarinki. Kaypi huk rikch'ana $colors
Sass mapamanta:
$colors: (
"blue": $blue,
"indigo": $indigo,
"purple": $purple,
"pink": $pink,
"red": $red,
"orange": $orange,
"yellow": $yellow,
"green": $green,
"teal": $teal,
"cyan": $cyan,
"white": $white,
"gray": $gray-600,
"gray-dark": $gray-800
) !default;
Mapa ukhupi chanikunata yapay, hurquy utaq tikray imayna huk achka componentekunapi llamk'achisqa kasqankuta musuqyachinaykipaq. Llakikuypaq kay pacha, mana sapa componente kay Sass mapata llamk'achin. Hamuq musuqyachiykuna kayta allinchaypaq kallpachakunqa. Chaykamaqa, planificay ${color}
variables nisqakunata, kay mapa Sass nisqakunatapas llamk’achinapaq.
Componentes nisqakuna
Askha Bootstrap kaqpa componentesnin chaymanta yanapakuyninkuna ruwasqa kanku @each
llañukunawan chaymanta huk Sass mapa kaqpi iteranku. Kayqa aswanta yanapakun huk componentemanta $theme-colors
variantes ruwanapaq ñuqaykuwan chaymanta sapa ruphaypaq kutichiq variantes ruwanapaq. Imaynatachus kay Sass mapakuna ruwanki chaymanta wakmanta huñunki, kikillanmanta rikunki tikrayniyki kay llimp'ikunapi rikuchisqa.
Modificadores nisqakuna
Bootstrap kaqpa achka componentenkuna huk base-modifier clase ruwaywan ruwasqa kanku. Kayqa niyta munan, aswan hatun estilo huk base clase kaqpi hap'isqa kachkan (kayhina, .btn
) estilo variaciones kaqtaq huk clasekuna modificador kaqpi (kayhina, .btn-danger
). Kay tikraq clasekuna $theme-colors
mapamanta ruwasqa kanku ruwanapaq sapanchasqa yupayta chaymanta sutita tikraq claseykumanta.
Kaypi iskay rikch'anakuna imayna $theme-colors
mapa patapi llimp'iyku .alert
componente kaqman chaymanta llapa .bg-*
qhipa yanapakuyniykuman tikraqkunata ruwanapaq.
// Generate alert modifier classes
@each $color, $value in $theme-colors {
.alert-#{$color} {
@include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));
}
}
// Generate `.bg-*` color utilities
@each $color, $value in $theme-colors {
@include bg-variant('.bg-#{$color}', $value);
}
Kutichiq
Kay Sass llimp'ikuna mana llimp'i mapakunallapichu, nitaq. Chantapas componentekunaykimanta utaq yanapakuyniykimanta kutichiq variaciones ruwayta atikunki. Ejemplopaq hap'iy kutichiq qillqa chiqanchay yanapakuyniyku maypi huk @each
llimp'ita $grid-breakpoints
Sass mapapaq huk willay mast'ariy tapuywan chaqruyku.
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.text#{$infix}-left { text-align: left !important; }
.text#{$infix}-right { text-align: right !important; }
.text#{$infix}-center { text-align: center !important; }
}
}
Sichus qam hukchayta necesitanki $grid-breakpoints
, tikrayniyki llapa llimp'ikuna chay mapa hawapi kuti-kutiriq kaqman ruwakunqa.
CSS nisqa tikraqkuna
Bootstrap 4 yaqa iskay chunka CSS sapanchasqa propiedades (variables) huñusqa CSS kaqninpi churan. Kaykunaqa sapa kuti llamk'achisqa chanikunaman mana sasa yaykuyta qunku imaynachus tema llimp'iyku, pakikunayku chaymanta primaria letra pilakuna llamk'achkanki maskaqniykipa Inspector kaqpi, huk código rit'i caja kaqpi utaq general prototipo kaqpi.
Kaqlla kaq variables nisqakuna
Kaypi kachkan variables nisqakuna churasqayku (reparay chay :root
es requerido). Chaykunaqa _root.scss
archivoykupin tarikunku.
:root {
--blue: #007bff;
--indigo: #6610f2;
--purple: #6f42c1;
--pink: #e83e8c;
--red: #dc3545;
--orange: #fd7e14;
--yellow: #ffc107;
--green: #28a745;
--teal: #20c997;
--cyan: #17a2b8;
--white: #fff;
--gray: #6c757d;
--gray-dark: #343a40;
--primary: #007bff;
--secondary: #6c757d;
--success: #28a745;
--info: #17a2b8;
--warning: #ffc107;
--danger: #dc3545;
--light: #f8f9fa;
--dark: #343a40;
--breakpoint-xs: 0;
--breakpoint-sm: 576px;
--breakpoint-md: 768px;
--breakpoint-lg: 992px;
--breakpoint-xl: 1200px;
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
Ejemplos
CSS tikraqkuna Sass tikraqkunaman rikch'aq flexibilidadta qun, ichaqa mana huñusqa necesidadniyuq manaraq maskaqman sirwisqa kachkaptin. Ejemplopaq, kaypi p'anqaykupa letranta chaymanta t'inki estilokunata CSS tikraqkunawan musuqmanta churachkayku.
body {
font: 1rem/1.5 var(--font-family-sans-serif);
}
a {
color: var(--blue);
}
Variables de punto de ruptura
Qallariypi CSS tikraqniykupi p'akiykunata churarqayku chaypas (kayhina, --breakpoint-md
), kaykunaqa mana willay mast'ariy tapuykunapi yanapasqachu , ichaqa willay huñukuna ukhupi willay mast'ariy tapuykunapi llamk'achiy atikunkuraq. Kay p'akiy tikraqkuna huñusqa CSS kaqpi qhipakunku tupachiypaq qusqa JavaScript kaqwan llamk'achiy atikunku. Astawan yachay spec nisqapi .
Kaypi huk rikch'ana kachkan imakuna mana yanapasqachu:
@media (min-width: var(--breakpoint-sm)) {
...
}
Hinaspa kaypi huk ejemplo imakuna yanapasqa kasqanmanta:
@media (min-width: 768px) {
.custom-element {
color: var(--primary);
}
}