ಥೀಮಿಂಗ್ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್
ಸುಲಭವಾದ ಥೀಮಿಂಗ್ ಮತ್ತು ಕಾಂಪೊನೆಂಟ್ ಬದಲಾವಣೆಗಳಿಗಾಗಿ ಜಾಗತಿಕ ಶೈಲಿಯ ಆದ್ಯತೆಗಳಿಗಾಗಿ ನಮ್ಮ ಹೊಸ ಅಂತರ್ನಿರ್ಮಿತ ಸಾಸ್ ವೇರಿಯೇಬಲ್ಗಳೊಂದಿಗೆ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 4 ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ.
ಪರಿಚಯ
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 3 ರಲ್ಲಿ, ಕಡಿಮೆ, ಕಸ್ಟಮ್ CSS ಮತ್ತು ನಮ್ಮ dist
ಫೈಲ್ಗಳಲ್ಲಿ ನಾವು ಸೇರಿಸಿರುವ ಪ್ರತ್ಯೇಕ ಥೀಮ್ ಸ್ಟೈಲ್ಶೀಟ್ನಲ್ಲಿ ವೇರಿಯಬಲ್ ಓವರ್ರೈಡ್ಗಳಿಂದ ಥೀಮಿಂಗ್ ಅನ್ನು ಹೆಚ್ಚಾಗಿ ನಡೆಸಲಾಗುತ್ತದೆ. ಸ್ವಲ್ಪ ಪ್ರಯತ್ನದಿಂದ, ಕೋರ್ ಫೈಲ್ಗಳನ್ನು ಸ್ಪರ್ಶಿಸದೆಯೇ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 3 ರ ನೋಟವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಮರುವಿನ್ಯಾಸಗೊಳಿಸಬಹುದು. ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 4 ಪರಿಚಿತ, ಆದರೆ ಸ್ವಲ್ಪ ವಿಭಿನ್ನವಾದ ವಿಧಾನವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಈಗ, ಥೀಮಿಂಗ್ ಅನ್ನು ಸಾಸ್ ಅಸ್ಥಿರಗಳು, ಸಾಸ್ ನಕ್ಷೆಗಳು ಮತ್ತು ಕಸ್ಟಮ್ ಸಿಎಸ್ಎಸ್ ಮೂಲಕ ಸಾಧಿಸಲಾಗುತ್ತದೆ. ಹೆಚ್ಚು ಮೀಸಲಾದ ಥೀಮ್ ಸ್ಟೈಲ್ಶೀಟ್ ಇಲ್ಲ; ಬದಲಾಗಿ, ಗ್ರೇಡಿಯಂಟ್ಗಳು, ನೆರಳುಗಳು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಸೇರಿಸಲು ನೀವು ಅಂತರ್ನಿರ್ಮಿತ ಥೀಮ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.
ಸಾಸ್
ನಿಮ್ಮ ಸ್ವಂತ ಆಸ್ತಿ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸಾಸ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡುವಾಗ ವೇರಿಯೇಬಲ್ಗಳು, ನಕ್ಷೆಗಳು, ಮಿಕ್ಸಿನ್ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಲಾಭ ಪಡೆಯಲು ನಮ್ಮ ಮೂಲ ಸಾಸ್ ಫೈಲ್ಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಿ .
ಫೈಲ್ ರಚನೆ
ಸಾಧ್ಯವಾದಾಗಲೆಲ್ಲಾ, ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಕೋರ್ ಫೈಲ್ಗಳನ್ನು ಮಾರ್ಪಡಿಸುವುದನ್ನು ತಪ್ಪಿಸಿ. ಸಾಸ್ಗಾಗಿ, ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ನಿಮ್ಮ ಸ್ವಂತ ಸ್ಟೈಲ್ಶೀಟ್ ಅನ್ನು ರಚಿಸುವುದು ಎಂದರ್ಥ ಆದ್ದರಿಂದ ನೀವು ಅದನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು ಮತ್ತು ವಿಸ್ತರಿಸಬಹುದು. ನೀವು npm ನಂತಹ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ ಎಂದು ಭಾವಿಸಿದರೆ, ನೀವು ಈ ರೀತಿ ಕಾಣುವ ಫೈಲ್ ರಚನೆಯನ್ನು ಹೊಂದಿರುತ್ತೀರಿ:
your-project/
├── scss
│ └── custom.scss
└── node_modules/
└── bootstrap
├── js
└── scss
ನೀವು ನಮ್ಮ ಮೂಲ ಫೈಲ್ಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿದ್ದರೆ ಮತ್ತು ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಬಳಸದೇ ಇದ್ದರೆ, ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಮೂಲ ಫೈಲ್ಗಳನ್ನು ನಿಮ್ಮದೇ ಆದ ರೀತಿಯಲ್ಲಿ ಪ್ರತ್ಯೇಕಿಸಿ, ಆ ರಚನೆಗೆ ಹೋಲುವ ಯಾವುದನ್ನಾದರೂ ಹಸ್ತಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ.
your-project/
├── scss
│ └── custom.scss
└── bootstrap/
├── js
└── scss
ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತಿದೆ
ನಿಮ್ಮ custom.scss
, ನೀವು Bootstrap ನ ಮೂಲ Sass ಫೈಲ್ಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತೀರಿ. ನಿಮಗೆ ಎರಡು ಆಯ್ಕೆಗಳಿವೆ: ಎಲ್ಲಾ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಅನ್ನು ಸೇರಿಸಿ, ಅಥವಾ ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಭಾಗಗಳನ್ನು ಆರಿಸಿ. ನಾವು ಎರಡನೆಯದನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ, ಆದರೂ ನಮ್ಮ ಘಟಕಗಳಾದ್ಯಂತ ಕೆಲವು ಅವಶ್ಯಕತೆಗಳು ಮತ್ತು ಅವಲಂಬನೆಗಳಿವೆ ಎಂದು ತಿಳಿದಿರಲಿ. ನಮ್ಮ ಪ್ಲಗಿನ್ಗಳಿಗಾಗಿ ನೀವು ಕೆಲವು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಹ ಸೇರಿಸಬೇಕಾಗುತ್ತದೆ.
// 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";
ಆ ಸೆಟಪ್ನೊಂದಿಗೆ, ನಿಮ್ಮ ನಲ್ಲಿರುವ ಯಾವುದೇ ಸಾಸ್ ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ನಕ್ಷೆಗಳನ್ನು ನೀವು ಮಾರ್ಪಡಿಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು custom.scss
. // Optional
ಅಗತ್ಯವಿರುವಂತೆ ವಿಭಾಗದ ಅಡಿಯಲ್ಲಿ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಭಾಗಗಳನ್ನು ಸೇರಿಸಲು ಸಹ ನೀವು ಪ್ರಾರಂಭಿಸಬಹುದು . bootstrap.scss
ನಿಮ್ಮ ಆರಂಭಿಕ ಹಂತವಾಗಿ ನಮ್ಮ ಫೈಲ್ನಿಂದ ಪೂರ್ಣ ಆಮದು ಸ್ಟಾಕ್ ಅನ್ನು ಬಳಸಲು ನಾವು ಸಲಹೆ ನೀಡುತ್ತೇವೆ .
ವೇರಿಯಬಲ್ ಡಿಫಾಲ್ಟ್ಗಳು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಸಾಸ್ ವೇರಿಯೇಬಲ್ !default
ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಮೂಲ ಕೋಡ್ ಅನ್ನು ಮಾರ್ಪಡಿಸದೆಯೇ ನಿಮ್ಮ ಸ್ವಂತ ಸಾಸ್ನಲ್ಲಿ ವೇರಿಯೇಬಲ್ನ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಅತಿಕ್ರಮಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಅಗತ್ಯವಿರುವಂತೆ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ನಕಲಿಸಿ ಮತ್ತು ಅಂಟಿಸಿ, ಅವುಗಳ ಮೌಲ್ಯಗಳನ್ನು ಮಾರ್ಪಡಿಸಿ ಮತ್ತು !default
ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ. ವೇರಿಯೇಬಲ್ ಅನ್ನು ಈಗಾಗಲೇ ನಿಯೋಜಿಸಿದ್ದರೆ, ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನಲ್ಲಿನ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳಿಂದ ಅದನ್ನು ಮರು-ನಿಯೋಜಿಸಲಾಗುವುದಿಲ್ಲ.
ನಲ್ಲಿ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ವೇರಿಯೇಬಲ್ಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು ನೀವು ಕಾಣಬಹುದು scss/_variables.scss
. ಕೆಲವು ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ null
, ಈ ಅಸ್ಥಿರಗಳು ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಅತಿಕ್ರಮಿಸದ ಹೊರತು ಆಸ್ತಿಯನ್ನು ಔಟ್ಪುಟ್ ಮಾಡುವುದಿಲ್ಲ.
ನಮ್ಮ ಕಾರ್ಯಗಳು, ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ಮಿಕ್ಸಿನ್ಗಳನ್ನು ಆಮದು ಮಾಡಿದ ನಂತರ ವೇರಿಯಬಲ್ ಓವರ್ರೈಡ್ಗಳು ಬರಬೇಕು, ಆದರೆ ಉಳಿದ ಆಮದುಗಳ ಮೊದಲು.
npm ಮೂಲಕ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಅನ್ನು ಆಮದು ಮಾಡುವಾಗ ಮತ್ತು ಕಂಪೈಲ್ ಮಾಡುವಾಗ background-color
ಬದಲಾಯಿಸುವ color
ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ :<body>
@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
ಕೆಳಗಿನ ಜಾಗತಿಕ ಆಯ್ಕೆಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನಲ್ಲಿನ ಯಾವುದೇ ವೇರಿಯಬಲ್ಗೆ ಅಗತ್ಯವಿರುವಂತೆ ಪುನರಾವರ್ತಿಸಿ.
ನಕ್ಷೆಗಳು ಮತ್ತು ಕುಣಿಕೆಗಳು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 4 ಬೆರಳೆಣಿಕೆಯಷ್ಟು ಸಾಸ್ ನಕ್ಷೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಪ್ರಮುಖ ಮೌಲ್ಯದ ಜೋಡಿಗಳು ಸಂಬಂಧಿತ CSS ನ ಕುಟುಂಬಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ನಮ್ಮ ಬಣ್ಣಗಳು, ಗ್ರಿಡ್ ಬ್ರೇಕ್ಪಾಯಿಂಟ್ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಿಗಾಗಿ ನಾವು ಸಾಸ್ ನಕ್ಷೆಗಳನ್ನು ಬಳಸುತ್ತೇವೆ. ಸಾಸ್ ವೇರಿಯಬಲ್ಗಳಂತೆಯೇ, ಎಲ್ಲಾ ಸಾಸ್ ನಕ್ಷೆಗಳು !default
ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ ಮತ್ತು ಅದನ್ನು ಅತಿಕ್ರಮಿಸಬಹುದು ಮತ್ತು ವಿಸ್ತರಿಸಬಹುದು.
ನಮ್ಮ ಕೆಲವು ಸಾಸ್ ನಕ್ಷೆಗಳನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಖಾಲಿಯಾಗಿ ವಿಲೀನಗೊಳಿಸಲಾಗಿದೆ. ಕೊಟ್ಟಿರುವ ಸಾಸ್ ನಕ್ಷೆಯ ಸುಲಭ ವಿಸ್ತರಣೆಯನ್ನು ಅನುಮತಿಸಲು ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ, ಆದರೆ ನಕ್ಷೆಯಿಂದ ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ವೆಚ್ಚದಲ್ಲಿ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಕಷ್ಟವಾಗುತ್ತದೆ.
ನಕ್ಷೆಯನ್ನು ಮಾರ್ಪಡಿಸಿ
ನಮ್ಮ ನಕ್ಷೆಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬಣ್ಣವನ್ನು ಮಾರ್ಪಡಿಸಲು $theme-colors
, ನಿಮ್ಮ ಕಸ್ಟಮ್ ಸಾಸ್ ಫೈಲ್ಗೆ ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಸೇರಿಸಿ:
$theme-colors: (
"primary": #0074d9,
"danger": #ff4136
);
ನಕ್ಷೆಗೆ ಸೇರಿಸಿ
ಗೆ ಹೊಸ ಬಣ್ಣವನ್ನು $theme-colors
ಸೇರಿಸಲು, ಹೊಸ ಕೀ ಮತ್ತು ಮೌಲ್ಯವನ್ನು ಸೇರಿಸಿ:
$theme-colors: (
"custom-color": #900
);
ನಕ್ಷೆಯಿಂದ ತೆಗೆದುಹಾಕಿ
, ಅಥವಾ ಯಾವುದೇ ಇತರ ನಕ್ಷೆಯಿಂದ ಬಣ್ಣಗಳನ್ನು ತೆಗೆದುಹಾಕಲು $theme-colors
, ಬಳಸಿ map-remove
. ನಮ್ಮ ಅವಶ್ಯಕತೆಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳ ನಡುವೆ ನೀವು ಅದನ್ನು ಸೇರಿಸಬೇಕು ಎಂದು ತಿಳಿದಿರಲಿ:
// 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";
...
ಅಗತ್ಯವಿರುವ ಕೀಗಳು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಸಾಸ್ ನಕ್ಷೆಗಳಲ್ಲಿ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಕೀಗಳ ಉಪಸ್ಥಿತಿಯನ್ನು ನಾವು ಬಳಸುತ್ತೇವೆ ಮತ್ತು ಅವುಗಳನ್ನು ನಾವೇ ವಿಸ್ತರಿಸುತ್ತೇವೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ನೀವು ಒಳಗೊಂಡಿರುವ ನಕ್ಷೆಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿದಂತೆ, ನಿರ್ದಿಷ್ಟ ಸಾಸ್ ನಕ್ಷೆಯ ಕೀಲಿಯನ್ನು ಬಳಸುತ್ತಿರುವಲ್ಲಿ ನೀವು ದೋಷಗಳನ್ನು ಎದುರಿಸಬಹುದು.
ಉದಾಹರಣೆಗೆ, ಲಿಂಕ್ಗಳು, ಬಟನ್ಗಳು ಮತ್ತು ಫಾರ್ಮ್ ಸ್ಥಿತಿಗಳಿಗಾಗಿ ನಾವು primary
, success
, ಮತ್ತು danger
ಕೀಗಳನ್ನು ಬಳಸುತ್ತೇವೆ. $theme-colors
ಈ ಕೀಲಿಗಳ ಮೌಲ್ಯಗಳನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಯಾವುದೇ ಸಮಸ್ಯೆಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಬಾರದು, ಆದರೆ ಅವುಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಸಾಸ್ ಸಂಕಲನ ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡಬಹುದು. ಈ ನಿದರ್ಶನಗಳಲ್ಲಿ, ಆ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಸಾಸ್ ಕೋಡ್ ಅನ್ನು ನೀವು ಮಾರ್ಪಡಿಸುವ ಅಗತ್ಯವಿದೆ.
ಕಾರ್ಯಗಳು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಹಲವಾರು ಸಾಸ್ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ ಸಾಮಾನ್ಯ ಥೀಮಿಂಗ್ಗೆ ಉಪವಿಭಾಗ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ. ಬಣ್ಣ ನಕ್ಷೆಗಳಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಪಡೆಯಲು ನಾವು ಮೂರು ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಿದ್ದೇವೆ:
@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);
}
ನೀವು V3 ನಿಂದ ಬಣ್ಣ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುತ್ತೀರಿ ಎಂಬುದರಂತೆಯೇ ಸಾಸ್ ನಕ್ಷೆಯಿಂದ ಒಂದು ಬಣ್ಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಇವುಗಳು ನಿಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ.
.custom-element {
color: gray("100");
background-color: theme-color("dark");
}
ನಕ್ಷೆಯಿಂದ ನಿರ್ದಿಷ್ಟ ಮಟ್ಟದ ಬಣ್ಣವನ್ನು ಪಡೆಯಲು ನಾವು ಇನ್ನೊಂದು ಕಾರ್ಯವನ್ನು ಹೊಂದಿದ್ದೇವೆ . $theme-colors
ಋಣಾತ್ಮಕ ಮಟ್ಟದ ಮೌಲ್ಯಗಳು ಬಣ್ಣವನ್ನು ಹಗುರಗೊಳಿಸುತ್ತವೆ, ಆದರೆ ಹೆಚ್ಚಿನ ಮಟ್ಟಗಳು ಗಾಢವಾಗುತ್ತವೆ.
@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);
}
ಪ್ರಾಯೋಗಿಕವಾಗಿ, ನೀವು ಕಾರ್ಯವನ್ನು ಕರೆದು ಎರಡು ಪ್ಯಾರಾಮೀಟರ್ಗಳಲ್ಲಿ ಪಾಸ್ ಮಾಡುತ್ತೀರಿ: ಬಣ್ಣದ ಹೆಸರು $theme-colors
(ಉದಾ, ಪ್ರಾಥಮಿಕ ಅಥವಾ ಅಪಾಯ) ಮತ್ತು ಸಂಖ್ಯಾ ಮಟ್ಟ.
.custom-element {
color: theme-color-level(primary, -10);
}
ಭವಿಷ್ಯದಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಹೆಚ್ಚುವರಿ ಸಾಸ್ ನಕ್ಷೆಗಳಿಗಾಗಿ ಮಟ್ಟದ ಕಾರ್ಯಗಳನ್ನು ರಚಿಸಲು ನಿಮ್ಮ ಸ್ವಂತ ಕಸ್ಟಮ್ ಸಾಸ್ ಅನ್ನು ಸೇರಿಸಬಹುದು, ಅಥವಾ ನೀವು ಹೆಚ್ಚು ಮೌಖಿಕವಾಗಿರಲು ಬಯಸಿದರೆ ಸಾಮಾನ್ಯವಾದದ್ದೂ ಸಹ.
ಬಣ್ಣದ ಕಾಂಟ್ರಾಸ್ಟ್
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನಲ್ಲಿ ನಾವು ಸೇರಿಸುವ ಹೆಚ್ಚುವರಿ ಕಾರ್ಯವೆಂದರೆ ಬಣ್ಣ ಕಾಂಟ್ರಾಸ್ಟ್ ಕಾರ್ಯ, color-yiq
. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮೂಲ ಬಣ್ಣವನ್ನು ಆಧರಿಸಿ ಬೆಳಕಿನ ( ) ಅಥವಾ ಡಾರ್ಕ್ ( ) ಕಾಂಟ್ರಾಸ್ಟ್ ಬಣ್ಣವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹಿಂತಿರುಗಿಸಲು YIQ ಬಣ್ಣದ ಜಾಗವನ್ನು ಇದು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ . ನೀವು ಬಹು ವರ್ಗಗಳನ್ನು ರಚಿಸುತ್ತಿರುವ ಮಿಕ್ಸಿನ್ಗಳು ಅಥವಾ ಲೂಪ್ಗಳಿಗೆ ಈ ಕಾರ್ಯವು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ.#fff
#111
ಉದಾಹರಣೆಗೆ, ನಮ್ಮ ಮ್ಯಾಪ್ನಿಂದ ಬಣ್ಣದ ಸ್ವಿಚ್ಗಳನ್ನು ರಚಿಸಲು $theme-colors
:
@each $color, $value in $theme-colors {
.swatch-#{$color} {
color: color-yiq($value);
}
}
ಒಂದು-ಆಫ್ ಕಾಂಟ್ರಾಸ್ಟ್ ಅಗತ್ಯಗಳಿಗಾಗಿ ಇದನ್ನು ಬಳಸಬಹುದು:
.custom-element {
color: color-yiq(#000); // returns `color: #fff`
}
ನಮ್ಮ ಬಣ್ಣದ ನಕ್ಷೆ ಕಾರ್ಯಗಳೊಂದಿಗೆ ನೀವು ಮೂಲ ಬಣ್ಣವನ್ನು ಸಹ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು:
.custom-element {
color: color-yiq(theme-color("dark")); // returns `color: #fff`
}
ಎಸ್ವಿಜಿ ಎಸ್ಕೇಪ್
SVG ಹಿನ್ನೆಲೆ ಚಿತ್ರಗಳಿಗಾಗಿ , ಮತ್ತು ಅಕ್ಷರಗಳಿಂದ escape-svg
ತಪ್ಪಿಸಿಕೊಳ್ಳಲು ನಾವು ಕಾರ್ಯವನ್ನು ಬಳಸುತ್ತೇವೆ . IE ನಲ್ಲಿ ಹಿನ್ನೆಲೆ ಚಿತ್ರಗಳನ್ನು ಸರಿಯಾಗಿ ನಿರೂಪಿಸಲು ಈ ಅಕ್ಷರಗಳನ್ನು ತಪ್ಪಿಸಬೇಕಾಗಿದೆ. ಕಾರ್ಯವನ್ನು ಬಳಸುವಾಗ , ಡೇಟಾ URI ಗಳನ್ನು ಉಲ್ಲೇಖಿಸಬೇಕು.<
>
#
escape-svg
ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಕಳೆಯಿರಿ
ನಾವು CSS ಕಾರ್ಯವನ್ನು ಕಟ್ಟಲು add
ಮತ್ತು ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತೇವೆ . "ಯೂನಿಟ್ಲೆಸ್" ಮೌಲ್ಯವನ್ನು ಅಭಿವ್ಯಕ್ತಿಗೆ ರವಾನಿಸಿದಾಗ ದೋಷಗಳನ್ನು ತಪ್ಪಿಸುವುದು ಈ ಕಾರ್ಯಗಳ ಪ್ರಾಥಮಿಕ ಉದ್ದೇಶವಾಗಿದೆ . ಗಣಿತದ ಪ್ರಕಾರ ಸರಿಯಾಗಿದ್ದರೂ ಎಲ್ಲಾ ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ದೋಷವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.subtract
calc
0
calc
calc(10px - 0)
ಕ್ಯಾಲ್ಕ್ ಮಾನ್ಯವಾಗಿರುವ ಉದಾಹರಣೆ:
$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);
}
ಕ್ಯಾಲ್ಕ್ ಅಮಾನ್ಯವಾಗಿರುವ ಉದಾಹರಣೆ:
$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);
}
ಸಾಸ್ ಆಯ್ಕೆಗಳು
ನಮ್ಮ ಅಂತರ್ನಿರ್ಮಿತ ಕಸ್ಟಮ್ ವೇರಿಯೇಬಲ್ಗಳ ಫೈಲ್ನೊಂದಿಗೆ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 4 ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಮತ್ತು ಹೊಸ $enable-*
Sass ವೇರಿಯೇಬಲ್ಗಳೊಂದಿಗೆ ಜಾಗತಿಕ CSS ಆದ್ಯತೆಗಳನ್ನು ಸುಲಭವಾಗಿ ಟಾಗಲ್ ಮಾಡಿ. ವೇರಿಯೇಬಲ್ನ ಮೌಲ್ಯವನ್ನು ಅತಿಕ್ರಮಿಸಿ ಮತ್ತು npm run test
ಅಗತ್ಯವಿರುವಂತೆ ಮರುಕಂಪೈಲ್ ಮಾಡಿ.
scss/_variables.scss
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಫೈಲ್ನಲ್ಲಿ ಪ್ರಮುಖ ಜಾಗತಿಕ ಆಯ್ಕೆಗಳಿಗಾಗಿ ನೀವು ಈ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಹುಡುಕಬಹುದು ಮತ್ತು ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು .
ವೇರಿಯಬಲ್ | ಮೌಲ್ಯಗಳನ್ನು | ವಿವರಣೆ |
---|---|---|
$spacer |
1rem (ಡೀಫಾಲ್ಟ್), ಅಥವಾ ಯಾವುದೇ ಮೌಲ್ಯ > 0 |
ನಮ್ಮ ಸ್ಪೇಸರ್ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್ ಆಗಿ ಉತ್ಪಾದಿಸಲು ಡೀಫಾಲ್ಟ್ ಸ್ಪೇಸರ್ ಮೌಲ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ . |
$enable-rounded |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
ವಿವಿಧ ಘಟಕಗಳ ಮೇಲೆ ಪೂರ್ವನಿರ್ಧರಿತ border-radius ಶೈಲಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. |
$enable-shadows |
true ಅಥವಾ false (ಡೀಫಾಲ್ಟ್) |
ವಿವಿಧ ಘಟಕಗಳ ಮೇಲೆ ಪೂರ್ವನಿರ್ಧರಿತ ಅಲಂಕಾರಿಕ box-shadow ಶೈಲಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. box-shadow ಫೋಕಸ್ ಸ್ಟೇಟ್ಗಳಿಗಾಗಿ ಬಳಸಲಾಗುವ s ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ . |
$enable-gradients |
true ಅಥವಾ false (ಡೀಫಾಲ್ಟ್) |
background-image ವಿವಿಧ ಘಟಕಗಳ ಮೇಲೆ ಶೈಲಿಗಳ ಮೂಲಕ ಪೂರ್ವನಿರ್ಧರಿತ ಗ್ರೇಡಿಯಂಟ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ . |
$enable-transitions |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
transition ವಿವಿಧ ಘಟಕಗಳ ಮೇಲೆ ಪೂರ್ವನಿರ್ಧರಿತ s ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ . |
$enable-prefers-reduced-motion-media-query |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
prefers-reduced-motion ಮಾಧ್ಯಮ ಪ್ರಶ್ನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ , ಇದು ಬಳಕೆದಾರರ ಬ್ರೌಸರ್/ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ಆದ್ಯತೆಗಳ ಆಧಾರದ ಮೇಲೆ ಕೆಲವು ಅನಿಮೇಷನ್ಗಳು/ಪರಿವರ್ತನೆಗಳನ್ನು ನಿಗ್ರಹಿಸುತ್ತದೆ. |
$enable-hover-media-query |
true ಅಥವಾ false (ಡೀಫಾಲ್ಟ್) |
ಅಸಮ್ಮತಿಸಲಾಗಿದೆ |
$enable-grid-classes |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
ಗ್ರಿಡ್ ಸಿಸ್ಟಮ್ಗಾಗಿ CSS ತರಗತಿಗಳ ಉತ್ಪಾದನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ (ಉದಾ, .container , .row , .col-md-1 , ಇತ್ಯಾದಿ). |
$enable-caret |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
ನಲ್ಲಿ ಹುಸಿ ಅಂಶದ ಕ್ಯಾರೆಟ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ .dropdown-toggle . |
$enable-pointer-cursor-for-buttons |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
ನಿಷ್ಕ್ರಿಯಗೊಳಿಸದ ಬಟನ್ ಅಂಶಗಳಿಗೆ "ಕೈ" ಕರ್ಸರ್ ಅನ್ನು ಸೇರಿಸಿ. |
$enable-print-styles |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
ಮುದ್ರಣವನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಶೈಲಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. |
$enable-responsive-font-sizes |
true ಅಥವಾ false (ಡೀಫಾಲ್ಟ್) |
ರೆಸ್ಪಾನ್ಸಿವ್ ಫಾಂಟ್ ಗಾತ್ರಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ . |
$enable-validation-icons |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
ಪಠ್ಯದ ಇನ್ಪುಟ್ಗಳಲ್ಲಿ ಐಕಾನ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ background-image ಮತ್ತು ಮೌಲ್ಯೀಕರಣ ಸ್ಥಿತಿಗಳಿಗಾಗಿ ಕೆಲವು ಕಸ್ಟಮ್ ಫಾರ್ಮ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. |
$enable-deprecation-messages |
true (ಡೀಫಾಲ್ಟ್) ಅಥವಾfalse |
false ನಲ್ಲಿ ತೆಗೆದುಹಾಕಲು ಯೋಜಿಸಲಾದ ಯಾವುದೇ ಅಸಮ್ಮತಿ ಮಿಕ್ಸಿನ್ಗಳು ಮತ್ತು ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವಾಗ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಮರೆಮಾಡಲು ಹೊಂದಿಸಿ v5 . |
ಬಣ್ಣ
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ವಿವಿಧ ಘಟಕಗಳು ಮತ್ತು ಉಪಯುಕ್ತತೆಗಳನ್ನು ಸಾಸ್ ನಕ್ಷೆಯಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಬಣ್ಣಗಳ ಸರಣಿಯ ಮೂಲಕ ನಿರ್ಮಿಸಲಾಗಿದೆ. ನಿಯಮಾವಳಿಗಳ ಸರಣಿಯನ್ನು ತ್ವರಿತವಾಗಿ ರಚಿಸಲು ಈ ನಕ್ಷೆಯನ್ನು ಸಾಸ್ನಲ್ಲಿ ಲೂಪ್ ಮಾಡಬಹುದು.
ಎಲ್ಲಾ ಬಣ್ಣಗಳು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 4 ರಲ್ಲಿ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಬಣ್ಣಗಳು, ಸಾಸ್ ವೇರಿಯೇಬಲ್ಗಳಾಗಿ ಮತ್ತು scss/_variables.scss
ಫೈಲ್ನಲ್ಲಿ ಸಾಸ್ ಮ್ಯಾಪ್ನಂತೆ ಲಭ್ಯವಿದೆ. ನಾವು ಈಗಾಗಲೇ ಸೇರಿಸಿರುವ ಗ್ರೇಸ್ಕೇಲ್ ಪ್ಯಾಲೆಟ್ನಂತೆಯೇ ಹೆಚ್ಚುವರಿ ಛಾಯೆಗಳನ್ನು ಸೇರಿಸಲು ನಂತರದ ಸಣ್ಣ ಬಿಡುಗಡೆಗಳಲ್ಲಿ ಇದನ್ನು ವಿಸ್ತರಿಸಲಾಗುತ್ತದೆ .
ನಿಮ್ಮ ಸಾಸ್ನಲ್ಲಿ ನೀವು ಇವುಗಳನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದು ಇಲ್ಲಿದೆ:
// With variable
.alpha { color: $purple; }
// From the Sass map with our `color()` function
.beta { color: color("purple"); }
ಬಣ್ಣ ಉಪಯುಕ್ತತೆ ತರಗತಿಗಳು ಸೆಟ್ಟಿಂಗ್ color
ಮತ್ತು background-color
.
ಥೀಮ್ ಬಣ್ಣಗಳು
scss/_variables.scss
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಫೈಲ್ನಲ್ಲಿ ಸಾಸ್ ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ಸಾಸ್ ಮ್ಯಾಪ್ನಂತೆ ಲಭ್ಯವಿರುವ ಬಣ್ಣದ ಯೋಜನೆಗಳನ್ನು ರಚಿಸಲು ಸಣ್ಣ ಬಣ್ಣದ ಪ್ಯಾಲೆಟ್ ಅನ್ನು ರಚಿಸಲು ನಾವು ಎಲ್ಲಾ ಬಣ್ಣಗಳ ಉಪವಿಭಾಗವನ್ನು ಬಳಸುತ್ತೇವೆ .
ಗ್ರೇಸ್
ಬೂದು ವೇರಿಯಬಲ್ಗಳ ವಿಸ್ತಾರವಾದ ಸೆಟ್ ಮತ್ತು scss/_variables.scss
ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನಾದ್ಯಂತ ಬೂದು ಬಣ್ಣದ ಸ್ಥಿರ ಛಾಯೆಗಳಿಗಾಗಿ ಸಾಸ್ ನಕ್ಷೆ. ಇವುಗಳು "ತಂಪಾದ ಬೂದುಗಳು" ಎಂಬುದನ್ನು ಗಮನಿಸಿ, ಇದು ತಟಸ್ಥ ಬೂದು ಬಣ್ಣಗಳಿಗಿಂತ ಸೂಕ್ಷ್ಮವಾದ ನೀಲಿ ಟೋನ್ ಕಡೆಗೆ ಒಲವು ತೋರುತ್ತದೆ.
ಒಳಗೆ scss/_variables.scss
, ನೀವು ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಬಣ್ಣ ಅಸ್ಥಿರಗಳು ಮತ್ತು ಸಾಸ್ ನಕ್ಷೆಯನ್ನು ಕಾಣುತ್ತೀರಿ. $colors
ಸಾಸ್ ನಕ್ಷೆಯ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ :
$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;
ಅನೇಕ ಇತರ ಘಟಕಗಳಲ್ಲಿ ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನವೀಕರಿಸಲು ನಕ್ಷೆಯೊಳಗೆ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸಿ, ತೆಗೆದುಹಾಕಿ ಅಥವಾ ಮಾರ್ಪಡಿಸಿ. ದುರದೃಷ್ಟವಶಾತ್ ಈ ಸಮಯದಲ್ಲಿ, ಪ್ರತಿಯೊಂದು ಘಟಕವು ಈ ಸಾಸ್ ನಕ್ಷೆಯನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಭವಿಷ್ಯದ ನವೀಕರಣಗಳು ಇದನ್ನು ಸುಧಾರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತವೆ. ಅಲ್ಲಿಯವರೆಗೆ, ${color}
ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ಈ ಸಾಸ್ ನಕ್ಷೆಯನ್ನು ಬಳಸಲು ಯೋಜಿಸಿ.
ಘಟಕಗಳು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಅನೇಕ ಘಟಕಗಳು ಮತ್ತು ಉಪಯುಕ್ತತೆಗಳನ್ನು @each
ಸಾಸ್ ನಕ್ಷೆಯ ಮೇಲೆ ಪುನರಾವರ್ತಿಸುವ ಲೂಪ್ಗಳೊಂದಿಗೆ ನಿರ್ಮಿಸಲಾಗಿದೆ. ನಮ್ಮ ಮೂಲಕ ಘಟಕದ $theme-colors
ರೂಪಾಂತರಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಪ್ರತಿ ಬ್ರೇಕ್ಪಾಯಿಂಟ್ಗೆ ಸ್ಪಂದಿಸುವ ರೂಪಾಂತರಗಳನ್ನು ರಚಿಸಲು ಇದು ವಿಶೇಷವಾಗಿ ಸಹಾಯಕವಾಗಿದೆ. ನೀವು ಈ Sass ನಕ್ಷೆಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಮತ್ತು ಮರುಕಂಪೈಲ್ ಮಾಡುವಾಗ, ಈ ಲೂಪ್ಗಳಲ್ಲಿ ನಿಮ್ಮ ಬದಲಾವಣೆಗಳು ಪ್ರತಿಫಲಿಸುವುದನ್ನು ನೀವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನೋಡುತ್ತೀರಿ.
ಮಾರ್ಪಡಿಸುವವರು
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ನ ಅನೇಕ ಘಟಕಗಳನ್ನು ಬೇಸ್-ಮಾರ್ಡಿಫೈಯರ್ ಕ್ಲಾಸ್ ವಿಧಾನದೊಂದಿಗೆ ನಿರ್ಮಿಸಲಾಗಿದೆ. ಇದರರ್ಥ ಸ್ಟೈಲಿಂಗ್ನ ಬಹುಪಾಲು ಮೂಲ ವರ್ಗಕ್ಕೆ (ಉದಾ, .btn
) ಒಳಗೊಂಡಿರುತ್ತದೆ ಆದರೆ ಶೈಲಿಯ ವ್ಯತ್ಯಾಸಗಳು ಮಾರ್ಪಡಿಸುವ ವರ್ಗಗಳಿಗೆ ಸೀಮಿತವಾಗಿರುತ್ತದೆ (ಉದಾ, .btn-danger
). $theme-colors
ನಮ್ಮ ಮಾರ್ಪಡಿಸುವ ವರ್ಗಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಹೆಸರನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಈ ಪರಿವರ್ತಕ ವರ್ಗಗಳನ್ನು ನಕ್ಷೆಯಿಂದ ನಿರ್ಮಿಸಲಾಗಿದೆ .
ಕಾಂಪೊನೆಂಟ್ ಮತ್ತು ನಮ್ಮ ಎಲ್ಲಾ ಹಿನ್ನೆಲೆ ಉಪಯುಕ್ತತೆಗಳಿಗೆ $theme-colors
ಮಾರ್ಪಾಡುಗಳನ್ನು ರಚಿಸಲು ನಾವು ನಕ್ಷೆಯ ಮೇಲೆ ಹೇಗೆ ಲೂಪ್ ಮಾಡುತ್ತೇವೆ ಎಂಬುದಕ್ಕೆ ಎರಡು ಉದಾಹರಣೆಗಳಿವೆ ..alert
.bg-*
// 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);
}
ರೆಸ್ಪಾನ್ಸಿವ್
ಈ ಸಾಸ್ ಲೂಪ್ಗಳು ಬಣ್ಣ ನಕ್ಷೆಗಳಿಗೆ ಸೀಮಿತವಾಗಿಲ್ಲ. ನಿಮ್ಮ ಘಟಕಗಳು ಅಥವಾ ಉಪಯುಕ್ತತೆಗಳ ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ಬದಲಾವಣೆಗಳನ್ನು ಸಹ ನೀವು ರಚಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ ನಮ್ಮ ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ಪಠ್ಯ ಜೋಡಣೆ ಉಪಯುಕ್ತತೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ, ಅಲ್ಲಿ ನಾವು ಸಾಸ್ ನಕ್ಷೆಗಾಗಿ @each
ಲೂಪ್ ಅನ್ನು ಮಾಧ್ಯಮ ಪ್ರಶ್ನೆಯೊಂದಿಗೆ ಬೆರೆಸುತ್ತೇವೆ.$grid-breakpoints
@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; }
}
}
ನಿಮ್ಮ ನ್ನು ನೀವು ಮಾರ್ಪಡಿಸಬೇಕಾದರೆ $grid-breakpoints
, ನಿಮ್ಮ ಬದಲಾವಣೆಗಳು ಆ ನಕ್ಷೆಯಲ್ಲಿ ಪುನರಾವರ್ತನೆಯಾಗುವ ಎಲ್ಲಾ ಲೂಪ್ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತವೆ.
CSS ಅಸ್ಥಿರ
ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ 4 ಅದರ ಸಂಕಲಿಸಿದ CSS ನಲ್ಲಿ ಸುಮಾರು ಎರಡು ಡಜನ್ CSS ಕಸ್ಟಮ್ ಗುಣಲಕ್ಷಣಗಳನ್ನು (ವೇರಿಯಬಲ್ಗಳು) ಒಳಗೊಂಡಿದೆ. ನಿಮ್ಮ ಬ್ರೌಸರ್ನ ಇನ್ಸ್ಪೆಕ್ಟರ್, ಕೋಡ್ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಅಥವಾ ಸಾಮಾನ್ಯ ಮೂಲಮಾದರಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವಾಗ ನಮ್ಮ ಥೀಮ್ ಬಣ್ಣಗಳು, ಬ್ರೇಕ್ಪಾಯಿಂಟ್ಗಳು ಮತ್ತು ಪ್ರಾಥಮಿಕ ಫಾಂಟ್ ಸ್ಟ್ಯಾಕ್ಗಳಂತಹ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಮೌಲ್ಯಗಳಿಗೆ ಇವು ಸುಲಭ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತವೆ.
ಲಭ್ಯವಿರುವ ಅಸ್ಥಿರಗಳು
ನಾವು ಸೇರಿಸುವ ವೇರಿಯಬಲ್ಗಳು ಇಲ್ಲಿವೆ ( :root
ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ). ಅವು ನಮ್ಮ _root.scss
ಫೈಲ್ನಲ್ಲಿವೆ.
: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;
}
ಉದಾಹರಣೆಗಳು
CSS ಅಸ್ಥಿರಗಳು Sass ನ ವೇರಿಯೇಬಲ್ಗಳಿಗೆ ಒಂದೇ ರೀತಿಯ ನಮ್ಯತೆಯನ್ನು ನೀಡುತ್ತವೆ, ಆದರೆ ಬ್ರೌಸರ್ಗೆ ಸೇವೆ ಸಲ್ಲಿಸುವ ಮೊದಲು ಸಂಕಲನದ ಅಗತ್ಯವಿಲ್ಲ. ಉದಾಹರಣೆಗೆ, ಇಲ್ಲಿ ನಾವು ನಮ್ಮ ಪುಟದ ಫಾಂಟ್ ಮತ್ತು ಲಿಂಕ್ ಶೈಲಿಗಳನ್ನು CSS ವೇರಿಯೇಬಲ್ಗಳೊಂದಿಗೆ ಮರುಹೊಂದಿಸುತ್ತಿದ್ದೇವೆ.
body {
font: 1rem/1.5 var(--font-family-sans-serif);
}
a {
color: var(--blue);
}
ಬ್ರೇಕ್ಪಾಯಿಂಟ್ ಅಸ್ಥಿರ
ನಾವು ಮೂಲತಃ ನಮ್ಮ CSS ವೇರಿಯೇಬಲ್ಗಳಲ್ಲಿ ಬ್ರೇಕ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಸೇರಿಸಿದ್ದರೂ (ಉದಾ, --breakpoint-md
), ಇವುಗಳು ಮಾಧ್ಯಮ ಪ್ರಶ್ನೆಗಳಲ್ಲಿ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ , ಆದರೆ ಮಾಧ್ಯಮ ಪ್ರಶ್ನೆಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಇನ್ನೂ ನಿಯಮಾವಳಿಗಳಲ್ಲಿ ಬಳಸಬಹುದು . ಈ ಬ್ರೇಕ್ಪಾಯಿಂಟ್ ವೇರಿಯೇಬಲ್ಗಳು ಬ್ಯಾಕ್ವರ್ಡ್ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಕಂಪೈಲ್ ಮಾಡಿದ CSS ನಲ್ಲಿ ಉಳಿಯುತ್ತವೆ, ಅವುಗಳನ್ನು JavaScript ಮೂಲಕ ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಸ್ಪೆಕ್ನಲ್ಲಿ ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ .
ಯಾವುದನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ ಎಂಬುದರ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ:
@media (min-width: var(--breakpoint-sm)) {
...
}
ಮತ್ತು ಬೆಂಬಲಿತವಾದವುಗಳ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ :
@media (min-width: 768px) {
.custom-element {
color: var(--primary);
}
}