ಸಿಎಸ್ಎಸ್ ಶೈಲಿ ಕಂಟೈನ್ಮೆಂಟ್ ರೆಂಡರಿಂಗ್ ಅನ್ನು ಪ್ರತ್ಯೇಕಿಸುವ ಮೂಲಕ ವೆಬ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೇಗೆ ಹೆಚ್ಚಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅನ್ವೇಷಿಸಿ, ಇದು ಎಲ್ಲಾ ಸಾಧನಗಳು ಮತ್ತು ಪ್ರದೇಶಗಳಲ್ಲಿ ವೇಗವಾದ, ಸುಗಮ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಸಿಎಸ್ಎಸ್ ಶೈಲಿ ಕಂಟೈನ್ಮೆಂಟ್: ಜಾಗತಿಕ ವೆಬ್ ಅನುಭವಗಳಿಗಾಗಿ ರೆಂಡರಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಅನಾವರಣಗೊಳಿಸುವುದು
ಇಂದಿನ ಅಂತರ್ಸಂಪರ್ಕಿತ ಜಗತ್ತಿನಲ್ಲಿ, ವೆಬ್ ಕಾರ್ಯಕ್ಷಮತೆ ಕೇವಲ ಒಂದು ಅಪೇಕ್ಷಣೀಯ ವೈಶಿಷ್ಟ್ಯವಲ್ಲ; ಅದು ಒಂದು ಮೂಲಭೂತ ನಿರೀಕ್ಷೆಯಾಗಿದೆ. ಬಳಕೆದಾರರು, ಅವರ ಭೌಗೋಳಿಕ ಸ್ಥಳ ಅಥವಾ ಅವರು ಬಳಸುವ ಸಾಧನವನ್ನು ಲೆಕ್ಕಿಸದೆ, ತ್ವರಿತ, ಸುಗಮ, ಮತ್ತು ಹೆಚ್ಚು ಸ್ಪಂದಿಸುವ ಸಂವಹನಗಳನ್ನು ಬಯಸುತ್ತಾರೆ. ನಿಧಾನವಾಗಿ ಲೋಡ್ ಆಗುವ ಅಥವಾ ಜರ್ಕಿ (janky) ವೆಬ್ಸೈಟ್ ನಿರಾಶೆ, ಕೈಬಿಟ್ಟ ಸೆಷನ್ಗಳು, ಮತ್ತು ಬಳಕೆದಾರರ ತೊಡಗಿಸಿಕೊಳ್ಳುವಿಕೆಯ ಮೇಲೆ ಗಮನಾರ್ಹ ಋಣಾತ್ಮಕ ಪರಿಣಾಮಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು, ಅಂತಿಮವಾಗಿ ಜಾಗತಿಕವಾಗಿ ವ್ಯವಹಾರದ ಉದ್ದೇಶಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಅತ್ಯುತ್ತಮ ವೆಬ್ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿನ ಅನ್ವೇಷಣೆ ಪ್ರತಿಯೊಬ್ಬ ಡೆವಲಪರ್ ಮತ್ತು ಸಂಸ್ಥೆಗೆ ಒಂದು ನಿರಂತರ ಪ್ರಯಾಣವಾಗಿದೆ.
ತೆರೆಮರೆಯಲ್ಲಿ, ವೆಬ್ ಬ್ರೌಸರ್ಗಳು ಅಸಂಖ್ಯಾತ ಅಂಶಗಳು, ಶೈಲಿಗಳು, ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ಗಳಿಂದ ಕೂಡಿದ ಸಂಕೀರ್ಣ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು (UIs) ರೆಂಡರ್ ಮಾಡಲು ದಣಿವರಿಯಿಲ್ಲದೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಈ ಜಟಿಲವಾದ ನೃತ್ಯವು ಒಂದು ಅತ್ಯಾಧುನಿಕ ರೆಂಡರಿಂಗ್ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಅಲ್ಲಿ ಸಣ್ಣ ಬದಲಾವಣೆಗಳು ಕೆಲವೊಮ್ಮೆ ಸಂಪೂರ್ಣ ಡಾಕ್ಯುಮೆಂಟ್ನಾದ್ಯಂತ ಮರುಲೆಕ್ಕಾಚಾರಗಳ ಸರಣಿಯನ್ನು ಪ್ರಚೋದಿಸಬಹುದು. ಈ ವಿದ್ಯಮಾನವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ "ಲೇಔಟ್ ಥ್ರಾಶಿಂಗ್" ಅಥವಾ "ಪೇಂಟ್ ಸ್ಟಾರ್ಮ್ಸ್" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಇದು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕುಗ್ಗಿಸಬಹುದು, ಇದರಿಂದಾಗಿ ದೃಷ್ಟಿಗೋಚರವಾಗಿ ನಿಧಾನವಾದ ಮತ್ತು ಆಕರ್ಷಕವಲ್ಲದ ಬಳಕೆದಾರ ಅನುಭವ ಉಂಟಾಗುತ್ತದೆ. ಒಂದು ಇ-ಕಾಮರ್ಸ್ ಸೈಟ್ನಲ್ಲಿ ಕಾರ್ಟ್ಗೆ ಒಂದು ಐಟಂ ಅನ್ನು ಸೇರಿಸಿದಾಗ ಇಡೀ ಪುಟವು ಸೂಕ್ಷ್ಮವಾಗಿ ಮರುಹೊಂದಾಣಿಕೆಯಾಗುವುದನ್ನು, ಅಥವಾ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಫೀಡ್ನಲ್ಲಿ ಸ್ಕ್ರಾಲ್ ಮಾಡುವಾಗ ವಿಷಯವು ಅಸ್ಥಿರ ಮತ್ತು ಸ್ಪಂದಿಸದಂತೆ ಭಾಸವಾಗುವುದನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಇವು ಆಪ್ಟಿಮೈಸ್ ಮಾಡದ ರೆಂಡರಿಂಗ್ನ ಸಾಮಾನ್ಯ ಲಕ್ಷಣಗಳಾಗಿವೆ.
ಇಲ್ಲಿಗೆ CSS Style Containment
ಪ್ರವೇಶಿಸುತ್ತದೆ, ಇದು ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್ನ ದಾರಿದೀಪವಾಗಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಒಂದು ಶಕ್ತಿಯುತ ಮತ್ತು ಹೆಚ್ಚಾಗಿ ಕಡಿಮೆ ಬಳಕೆಯಲ್ಲಿರುವ CSS ಪ್ರಾಪರ್ಟಿ: contain
ಪ್ರಾಪರ್ಟಿ. ಈ ನವೀನ ವೈಶಿಷ್ಟ್ಯವು ಡೆವಲಪರ್ಗಳಿಗೆ ಒಂದು ನಿರ್ದಿಷ್ಟ ಅಂಶ ಮತ್ತು ಅದರ ವಂಶಸ್ಥರನ್ನು ಒಂದು ಸ್ವತಂತ್ರ ರೆಂಡರಿಂಗ್ ಉಪ-ವೃಕ್ಷವೆಂದು ಪರಿಗಣಿಸಬಹುದು ಎಂದು ಬ್ರೌಸರ್ಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಸಂಕೇತಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಹೀಗೆ ಮಾಡುವ ಮೂಲಕ, ಡೆವಲಪರ್ಗಳು ಒಂದು ಕಾಂಪೊನೆಂಟ್ನ "ರೆಂಡರಿಂಗ್ ಸ್ವಾತಂತ್ರ್ಯವನ್ನು" ಘೋಷಿಸಬಹುದು, ಬ್ರೌಸರ್ನ ರೆಂಡರಿಂಗ್ ಇಂಜಿನ್ನಲ್ಲಿ ಲೇಔಟ್, ಶೈಲಿ, ಮತ್ತು ಪೇಂಟ್ ಮರುಲೆಕ್ಕಾಚಾರಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸೀಮಿತಗೊಳಿಸಬಹುದು. ಈ ಪ್ರತ್ಯೇಕತೆಯು ಒಂದು ಸೀಮಿತ ಪ್ರದೇಶದೊಳಗಿನ ಬದಲಾವಣೆಗಳು ಇಡೀ ಪುಟದಾದ್ಯಂತ ದುಬಾರಿ, ವ್ಯಾಪಕವಾದ ಅಪ್ಡೇಟ್ಗಳನ್ನು ಪ್ರಚೋದಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
contain
ನ ಹಿಂದಿನ ಮೂಲಭೂತ ಪರಿಕಲ್ಪನೆಯು ಸರಳವಾದರೂ ಆಳವಾದ ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ: ಬ್ರೌಸರ್ಗೆ ಒಂದು ಅಂಶದ ನಡವಳಿಕೆಯ ಬಗ್ಗೆ ಸ್ಪಷ್ಟ ಸುಳಿವುಗಳನ್ನು ನೀಡುವ ಮೂಲಕ, ನಾವು ಅದಕ್ಕೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ರೆಂಡರಿಂಗ್ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತೇವೆ. ಕೆಟ್ಟ ಸನ್ನಿವೇಶವನ್ನು ಊಹಿಸಿ ಎಲ್ಲವನ್ನೂ ಮರುಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಬದಲು, ಬ್ರೌಸರ್ ತನ್ನ ಕೆಲಸದ ವ್ಯಾಪ್ತಿಯನ್ನು ಕೇವಲ ಕಂಟೈನ್ಡ್ (contained) ಅಂಶಕ್ಕೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸಬಹುದು, ರೆಂಡರಿಂಗ್ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ನಾಟಕೀಯವಾಗಿ ವೇಗಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಸುಗಮ, ಹೆಚ್ಚು ಸ್ಪಂದಿಸುವ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಕೇವಲ ತಾಂತ್ರಿಕ ಸುಧಾರಣೆಯಲ್ಲ; ಇದು ಜಾಗತಿಕ ಅಗತ್ಯವಾಗಿದೆ. ಕಾರ್ಯಕ್ಷಮತೆಯುಳ್ಳ ವೆಬ್, ನಿಧಾನಗತಿಯ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕಗಳು ಅಥವಾ ಕಡಿಮೆ ಶಕ್ತಿಯುತ ಸಾಧನಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರದೇಶಗಳಲ್ಲಿನ ಬಳಕೆದಾರರು ಸಹ ವಿಷಯವನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪ್ರವೇಶಿಸಲು ಮತ್ತು ಸಂವಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಹೆಚ್ಚು ಒಳಗೊಳ್ಳುವ ಮತ್ತು ಸಮಾನವಾದ ಡಿಜಿಟಲ್ ಭೂದೃಶ್ಯವನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ.
ಬ್ರೌಸರ್ನ ತೀವ್ರ ಪ್ರಯಾಣ: ರೆಂಡರಿಂಗ್ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
contain
ನ ಶಕ್ತಿಯನ್ನು ನಿಜವಾಗಿಯೂ ಪ್ರಶಂಸಿಸಲು, ನಿಮ್ಮ ಪರದೆಯ ಮೇಲೆ HTML, CSS, ಮತ್ತು JavaScript ಅನ್ನು ಪಿಕ್ಸೆಲ್ಗಳಾಗಿ ಪರಿವರ್ತಿಸಲು ಬ್ರೌಸರ್ಗಳು ತೆಗೆದುಕೊಳ್ಳುವ ಮೂಲಭೂತ ಹಂತಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅತ್ಯಗತ್ಯ. ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕ್ರಿಟಿಕಲ್ ರೆಂಡರಿಂಗ್ ಪಾತ್ (Critical Rendering Path) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಸರಳೀಕರಿಸಿದರೂ, ಅದರ ಪ್ರಮುಖ ಹಂತಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಡಚಣೆಗಳು ಎಲ್ಲಿ ಹೆಚ್ಚಾಗಿ ಸಂಭವಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ:
- DOM (Document Object Model) ನಿರ್ಮಾಣ: ಬ್ರೌಸರ್ HTML ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಡಾಕ್ಯುಮೆಂಟ್ನ ವಿಷಯ ಮತ್ತು ಸಂಬಂಧಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಒಂದು ಟ್ರೀ ರಚನೆಯನ್ನು ರಚಿಸುತ್ತದೆ.
- CSSOM (CSS Object Model) ನಿರ್ಮಾಣ: ಬ್ರೌಸರ್ CSS ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅಂಶಗಳಿಗೆ ಅನ್ವಯಿಸಲಾದ ಶೈಲಿಗಳ ಒಂದು ಟ್ರೀ ರಚನೆಯನ್ನು ರಚಿಸುತ್ತದೆ.
- ರೆಂಡರ್ ಟ್ರೀ ರಚನೆ: DOM ಮತ್ತು CSSOM ಅನ್ನು ಸಂಯೋಜಿಸಿ ರೆಂಡರ್ ಟ್ರೀ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ, ಇದು ಕೇವಲ ಗೋಚರ ಅಂಶಗಳು ಮತ್ತು ಅವುಗಳ ಗಣනය ಮಾಡಿದ ಶೈಲಿಗಳನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿರುತ್ತದೆ. ಇದನ್ನೇ ವಾಸ್ತವವಾಗಿ ರೆಂಡರ್ ಮಾಡಲಾಗುತ್ತದೆ.
- ಲೇಔಟ್ (Reflow/Relayout): ಇದು ಅತ್ಯಂತ ಸಂಪನ್ಮೂಲ-ತೀವ್ರ ಹಂತಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಬ್ರೌಸರ್ ರೆಂಡರ್ ಟ್ರೀ ಆಧಾರದ ಮೇಲೆ ಪುಟದಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಗೋಚರ ಅಂಶದ ನಿಖರವಾದ ಸ್ಥಾನ ಮತ್ತು ಗಾತ್ರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ. ಒಂದು ಅಂಶದ ಗಾತ್ರ ಅಥವಾ ಸ್ಥಾನ ಬದಲಾದರೆ, ಅಥವಾ ಹೊಸ ಅಂಶಗಳನ್ನು ಸೇರಿಸಿದರೆ ಅಥವಾ ತೆಗೆದುಹಾಕಿದರೆ, ಬ್ರೌಸರ್ ಸಾಮಾನ್ಯವಾಗಿ ಪುಟದ ಒಂದು ಗಮನಾರ್ಹ ಭಾಗಕ್ಕೆ, ಅಥವಾ ಸಂಪೂರ್ಣ ಪುಟಕ್ಕೆ ಲೇಔಟ್ ಅನ್ನು ಮರುಲೆಕ್ಕಾಚಾರ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಈ ಜಾಗತಿಕ ಮರುಲೆಕ್ಕಾಚಾರವನ್ನು "ರಿಫ್ಲೋ" ಅಥವಾ "ರಿಲೇಔಟ್" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಇದು ಒಂದು ಪ್ರಮುಖ ಕಾರ್ಯಕ್ಷಮತೆ ಅಡಚಣೆಯಾಗಿದೆ.
- ಪೇಂಟ್ (Repaint): ಲೇಔಟ್ ನಿರ್ಧರಿಸಿದ ನಂತರ, ಬ್ರೌಸರ್ ಪ್ರತಿ ಅಂಶಕ್ಕೆ ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಪರದೆಯ ಮೇಲೆ ಸೆಳೆಯುತ್ತದೆ (ಪೇಂಟ್ ಮಾಡುತ್ತದೆ). ಇದು ಗಣනය ಮಾಡಿದ ಶೈಲಿಗಳನ್ನು (ಬಣ್ಣಗಳು, ಹಿನ್ನೆಲೆಗಳು, ಗಡಿಗಳು, ನೆರಳುಗಳು, ಇತ್ಯಾದಿ) ವಾಸ್ತವಿಕ ಪಿಕ್ಸೆಲ್ಗಳಾಗಿ ಪರಿವರ್ತಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಲೇಔಟ್ನಂತೆಯೇ, ಒಂದು ಅಂಶದ ದೃಶ್ಯ ಗುಣಲಕ್ಷಣಗಳಿಗೆ ಮಾಡಿದ ಬದಲಾವಣೆಗಳು ಆ ಅಂಶದ ಮತ್ತು ಸಂಭಾವ್ಯವಾಗಿ ಅದರ ಮೇಲೆ ಅತಿಕ್ರಮಿಸುವ ಅಂಶಗಳ "ರಿಪೇಂಟ್" ಅನ್ನು ಪ್ರಚೋದಿಸಬಹುದು. ಇದು ರಿಫ್ಲೋ ಗಿಂತ ಕಡಿಮೆ ದುಬಾರಿಯಾಗಿದ್ದರೂ, ಆಗಾಗ್ಗೆ ಅಥವಾ ದೊಡ್ಡ ರಿಪೇಂಟ್ಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕುಗ್ಗಿಸಬಹುದು.
- ಕಾಂಪೊಸಿಟಿಂಗ್ (Compositing): ಪೇಂಟ್ ಮಾಡಿದ ಪದರಗಳನ್ನು ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಸಂಯೋಜಿಸಿ (ಕಾಂಪೊಸಿಟ್ ಮಾಡಿ) ಪರದೆಯ ಮೇಲೆ ಅಂತಿಮ ಚಿತ್ರವನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ.
ಇಲ್ಲಿನ ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಹಂತಗಳಲ್ಲಿನ ಕಾರ್ಯಾಚರಣೆಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಅತ್ಯಂತ ಗಮನಾರ್ಹವಾದ ಹೊರೆಯಾಗಿರುತ್ತವೆ. DOM ಅಥವಾ CSSOM ನಲ್ಲಿ ಲೇಔಟ್ಗೆ ಪರಿಣಾಮ ಬೀರುವ ಯಾವುದೇ ಬದಲಾವಣೆ ಸಂಭವಿಸಿದಾಗ (ಉದಾಹರಣೆಗೆ, ಒಂದು ಅಂಶದ `width`, `height`, `margin`, `padding`, `display`, ಅಥವಾ `position` ಅನ್ನು ಬದಲಾಯಿಸುವುದು), ಬ್ರೌಸರ್ ಅನೇಕ ಅಂಶಗಳಿಗೆ ಲೇಔಟ್ ಹಂತವನ್ನು ಪುನಃ ಚಲಾಯಿಸಲು ಒತ್ತಾಯಿಸಲ್ಪಡಬಹುದು. ಅಂತೆಯೇ, ದೃಶ್ಯ ಬದಲಾವಣೆಗಳಿಗೆ (`color`, `background-color`, `box-shadow`) ರಿಪೇಂಟಿಂಗ್ ಅಗತ್ಯವಿರುತ್ತದೆ. ಕಂಟೈನ್ಮೆಂಟ್ ಇಲ್ಲದೆ, ಒಂದು ಪ್ರತ್ಯೇಕ ಕಾಂಪೊನೆಂಟ್ನಲ್ಲಿನ ಸಣ್ಣ ಅಪ್ಡೇಟ್ ಅನಗತ್ಯವಾಗಿ ಸಂಪೂರ್ಣ ವೆಬ್ಪುಟದಾದ್ಯಂತ ಪೂರ್ಣ ಮರುಲೆಕ್ಕಾಚಾರವನ್ನು ಪ್ರಚೋದಿಸಬಹುದು, ಅಮೂಲ್ಯವಾದ ಸಂಸ್ಕರಣಾ ಚಕ್ರಗಳನ್ನು ವ್ಯರ್ಥಮಾಡುತ್ತದೆ ಮತ್ತು ಜರ್ಕಿ ಬಳಕೆದಾರ ಅನುಭವಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಸ್ವಾತಂತ್ರ್ಯವನ್ನು ಘೋಷಿಸುವುದು: contain
ಪ್ರಾಪರ್ಟಿಯ ಆಳವಾದ ನೋಟ
contain
CSS ಪ್ರಾಪರ್ಟಿಯು ಬ್ರೌಸರ್ಗೆ ಒಂದು ಪ್ರಮುಖ ಆಪ್ಟಿಮೈಸೇಶನ್ ಸುಳಿವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಅಂಶ ಮತ್ತು ಅದರ ವಂಶಸ್ಥರು ಸ್ವಯಂ-ಒಳಗೊಂಡಿದ್ದಾರೆ ಎಂದು ಸಂಕೇತಿಸುತ್ತದೆ, ಅಂದರೆ ಅವುಗಳ ಲೇಔಟ್, ಶೈಲಿ, ಮತ್ತು ಪೇಂಟ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಡಾಕ್ಯುಮೆಂಟ್ನ ಉಳಿದ ಭಾಗದಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ನಡೆಯಬಹುದು. ಇದು ಬ್ರೌಸರ್ಗೆ ಉದ್ದೇಶಿತ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಆಂತರಿಕ ಬದಲಾವಣೆಗಳು ವಿಶಾಲವಾದ ಪುಟ ರಚನೆಯ ಮೇಲೆ ದುಬಾರಿ ಮರುಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಒತ್ತಾಯಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಈ ಪ್ರಾಪರ್ಟಿಯು ಹಲವಾರು ಮೌಲ್ಯಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಇವುಗಳನ್ನು ಸಂಯೋಜಿಸಬಹುದು ಅಥವಾ ಶಾರ್ಟ್ಹ್ಯಾಂಡ್ಗಳಾಗಿ ಬಳಸಬಹುದು, ಪ್ರತಿಯೊಂದೂ ವಿಭಿನ್ನ ಮಟ್ಟದ ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ:
none
(ಡೀಫಾಲ್ಟ್): ಯಾವುದೇ ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ಅಂಶದೊಳಗಿನ ಬದಲಾವಣೆಗಳು ಇಡೀ ಪುಟದ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು.layout
: ಲೇಔಟ್ ಬದಲಾವಣೆಗಳನ್ನು ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.paint
: ಪೇಂಟ್ ಬದಲಾವಣೆಗಳನ್ನು ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.size
: ಅಂಶದ ಗಾತ್ರ ಸ್ಥಿರವಾಗಿದೆ ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.style
: ಶೈಲಿ ಅಮಾನ್ಯೀಕರಣವನ್ನು ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.content
:layout
ಮತ್ತುpaint
ಗೆ ಶಾರ್ಟ್ಹ್ಯಾಂಡ್.strict
:layout
,paint
,size
, ಮತ್ತುstyle
ಗೆ ಶಾರ್ಟ್ಹ್ಯಾಂಡ್.
ಈ ಪ್ರತಿಯೊಂದು ಮೌಲ್ಯಗಳನ್ನು ಅವುಗಳ ನಿರ್ದಿಷ್ಟ ಪ್ರಯೋಜನಗಳು ಮತ್ತು ಪರಿಣಾಮಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ವಿವರವಾಗಿ ಅನ್ವೇಷಿಸೋಣ.
contain: layout;
– ಜ್ಯಾಮಿತಿ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು
ನೀವು ಒಂದು ಅಂಶಕ್ಕೆ contain: layout;
ಅನ್ನು ಅನ್ವಯಿಸಿದಾಗ, ನೀವು ಮೂಲಭೂತವಾಗಿ ಬ್ರೌಸರ್ಗೆ ಹೀಗೆ ಹೇಳುತ್ತಿದ್ದೀರಿ: "ನನ್ನ ಮಕ್ಕಳ ಲೇಔಟ್ಗೆ ಆಗುವ ಬದಲಾವಣೆಗಳು ನನ್ನ ಹೊರಗಿನ ಯಾವುದರ ಲೇಔಟ್ ಮೇಲೂ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ, ನನ್ನ ಪೂರ್ವಜರು ಅಥವಾ ಸಹೋದರ ಅಂಶಗಳನ್ನೂ ಒಳಗೊಂಡಂತೆ." ಇದು ಒಂದು ನಂಬಲಾಗದಷ್ಟು ಶಕ್ತಿಯುತ ಘೋಷಣೆಯಾಗಿದೆ, ಏಕೆಂದರೆ ಇದು ಆಂತರಿಕ ಲೇಔಟ್ ಬದಲಾವಣೆಗಳು ಜಾಗತಿಕ ರಿಫ್ಲೋ ಅನ್ನು ಪ್ರಚೋದಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: contain: layout;
ನೊಂದಿಗೆ, ಬ್ರೌಸರ್ ಕಂಟೈನ್ಡ್ ಅಂಶ ಮತ್ತು ಅದರ ವಂಶಸ್ಥರಿಗೆ ಲೇಔಟ್ ಅನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದು. ಒಂದು ಚೈಲ್ಡ್ ಅಂಶವು ತನ್ನ ಆಯಾಮಗಳನ್ನು ಬದಲಾಯಿಸಿದರೆ, ಅದರ ಪೋಷಕ (ಕಂಟೈನ್ಡ್ ಅಂಶ) ಡಾಕ್ಯುಮೆಂಟ್ನ ಉಳಿದ ಭಾಗಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ ತನ್ನ ಮೂಲ ಸ್ಥಾನ ಮತ್ತು ಗಾತ್ರವನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಲೇಔಟ್ ಲೆಕ್ಕಾಚಾರಗಳು ಕಂಟೈನ್ಡ್ ಅಂಶದ ಗಡಿಯೊಳಗೆ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ಬಂಧಿಸಲ್ಪಡುತ್ತವೆ.
ಪ್ರಯೋಜನಗಳು:
- ಕಡಿಮೆಯಾದ ರಿಫ್ಲೋ ವ್ಯಾಪ್ತಿ: ಲೇಔಟ್ ಬದಲಾವಣೆಗಳ ಸಮಯದಲ್ಲಿ ಬ್ರೌಸರ್ ಮರುಲೆಕ್ಕಾಚಾರ ಮಾಡಬೇಕಾದ ಪ್ರದೇಶವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುವುದು ಇದರ ಪ್ರಾಥಮಿಕ ಪ್ರಯೋಜನವಾಗಿದೆ. ಇದರರ್ಥ ಕಡಿಮೆ ಸಿಪಿಯು ಬಳಕೆ ಮತ್ತು ವೇಗದ ರೆಂಡರಿಂಗ್ ಸಮಯ.
- ಊಹಿಸಬಹುದಾದ ಲೇಔಟ್: ಡೈನಾಮಿಕ್ ವಿಷಯ ಅಥವಾ ಅನಿಮೇಷನ್ಗಳು ಒಂದು ಕಾಂಪೊನೆಂಟ್ನೊಳಗೆ ಆಂತರಿಕ ಬದಲಾವಣೆಗಳನ್ನು ಉಂಟುಮಾಡಿದಾಗಲೂ ಸ್ಥಿರವಾದ ಒಟ್ಟಾರೆ ಪುಟ ಲೇಔಟ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಬಳಕೆಯ ಸಂದರ್ಭಗಳು:
- ಸ್ವತಂತ್ರ ಯುಐ ಕಾಂಪೊನೆಂಟ್ಗಳು: ದೋಷ ಸಂದೇಶಗಳು ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು ಅಥವಾ ಕಣ್ಮರೆಯಾಗಬಹುದು, ಇದರಿಂದ ಫಾರ್ಮ್ನ ಆಂತರಿಕ ಲೇಔಟ್ ಬದಲಾಗುವ ಸಂಕೀರ್ಣ ಫಾರ್ಮ್ ಮೌಲ್ಯಮಾಪನ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ಯೋಚಿಸಿ. ಫಾರ್ಮ್ ಕಂಟೇನರ್ಗೆ
contain: layout;
ಅನ್ನು ಅನ್ವಯಿಸುವುದು ಈ ಬದಲಾವಣೆಗಳು ಫೂಟರ್ ಅಥವಾ ಸೈಡ್ಬಾರ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. - ವಿಸ್ತರಿಸಬಹುದಾದ/ಕುಗ್ಗಿಸಬಹುದಾದ ವಿಭಾಗಗಳು: ನೀವು ಅಕಾರ್ಡಿಯನ್-ಶೈಲಿಯ ಕಾಂಪೊನೆಂಟ್ ಹೊಂದಿದ್ದರೆ, ಅಲ್ಲಿ ವಿಷಯ ವಿಸ್ತರಿಸುತ್ತದೆ ಅಥವಾ ಕುಗ್ಗುತ್ತದೆ, ಪ್ರತಿ ವಿಭಾಗಕ್ಕೆ
contain: layout;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ, ಒಂದು ವಿಭಾಗದ ಎತ್ತರ ಬದಲಾದಾಗ ಇಡೀ ಪುಟದ ಲೇಔಟ್ ಅನ್ನು ಮರು-ಮೌಲ್ಯಮಾಪನ ಮಾಡುವುದನ್ನು ತಡೆಯಬಹುದು. - ವಿಜೆಟ್ಗಳು ಮತ್ತು ಕಾರ್ಡ್ಗಳು: ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಅಥವಾ ಉತ್ಪನ್ನ ಪಟ್ಟಿ ಪುಟದಲ್ಲಿ, ಪ್ರತಿಯೊಂದು ಐಟಂ ಒಂದು ಸ್ವತಂತ್ರ ಕಾರ್ಡ್ ಅಥವಾ ವಿಜೆಟ್ ಆಗಿರುತ್ತದೆ. ಒಂದು ಕಾರ್ಡ್ನಲ್ಲಿ ಚಿತ್ರ ನಿಧಾನವಾಗಿ ಲೋಡ್ ಆದರೆ ಅಥವಾ ವಿಷಯ ಡೈನಾಮಿಕ್ ಆಗಿ ಸರಿಹೊಂದಿದರೆ, ಆ ಕಾರ್ಡ್ಗೆ
contain: layout;
ಅನ್ವಯಿಸುವುದರಿಂದ ಪಕ್ಕದ ಕಾರ್ಡ್ಗಳು ಅಥವಾ ಒಟ್ಟಾರೆ ಗ್ರಿಡ್ ಅನಗತ್ಯವಾಗಿ ರಿಫ್ಲೋ ಆಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಪರಿಗಣನೆಗಳು:
- ಕಂಟೈನ್ಡ್ ಅಂಶವು ಹೊಸ ಬ್ಲಾಕ್ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಸನ್ನಿವೇಶವನ್ನು ಸ್ಥಾಪಿಸಬೇಕು,
overflow: hidden;
ಅಥವಾdisplay: flex;
ಹೊಂದಿರುವ ಅಂಶಗಳಂತೆಯೇ. - ಆಂತರಿಕ ಲೇಔಟ್ ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದ್ದರೂ, ಅಂಶವು ತನ್ನ ವಿಷಯವು ಹೊಸ ಗಾತ್ರವನ್ನು ನಿರ್ದೇಶಿಸಿದರೆ ಮತ್ತು
contain: size;
ಅನ್ನು ಅನ್ವಯಿಸದಿದ್ದರೆ, ಅದು ಸ್ವತಃ ಮರುಗಾತ್ರಗೊಳ್ಳಬಹುದು. - ಪರಿಣಾಮಕಾರಿ ಕಂಟೈನ್ಮೆಂಟ್ಗಾಗಿ, ಅಂಶವು ಸ್ಪಷ್ಟವಾದ ಅಥವಾ ಊಹಿಸಬಹುದಾದ ಗಾತ್ರವನ್ನು ಹೊಂದಿರಬೇಕು, ಅದನ್ನು
contain: size;
ನಿಂದ ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಜಾರಿಗೊಳಿಸದಿದ್ದರೂ ಸಹ.
contain: paint;
– ದೃಶ್ಯ ನವೀಕರಣಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವುದು
ನೀವು ಒಂದು ಅಂಶಕ್ಕೆ contain: paint;
ಅನ್ನು ಅನ್ವಯಿಸಿದಾಗ, ನೀವು ಬ್ರೌಸರ್ಗೆ ಹೀಗೆ ತಿಳಿಸುತ್ತಿದ್ದೀರಿ: "ಈ ಅಂಶದೊಳಗಿನ ಯಾವುದನ್ನೂ ಅದರ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ನ ಹೊರಗೆ ಪೇಂಟ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಇದಲ್ಲದೆ, ಈ ಅಂಶವು ಆಫ್-ಸ್ಕ್ರೀನ್ ಆಗಿದ್ದರೆ, ನೀವು ಅದರ ವಿಷಯವನ್ನು ಪೇಂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ." ಈ ಸುಳಿವು ರೆಂಡರಿಂಗ್ ಪೈಪ್ಲೈನ್ನ ಪೇಂಟಿಂಗ್ ಹಂತವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಆಪ್ಟಿಮೈಜ್ ಮಾಡುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: ಈ ಮೌಲ್ಯವು ಬ್ರೌಸರ್ಗೆ ಎರಡು ನಿರ್ಣಾಯಕ ವಿಷಯಗಳನ್ನು ಹೇಳುತ್ತದೆ. ಮೊದಲನೆಯದಾಗಿ, ಅಂಶದ ವಿಷಯಗಳು ಅದರ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ಗೆ ಕ್ಲಿಪ್ ಆಗುತ್ತವೆ ಎಂದು ಇದು ಸೂಚಿಸುತ್ತದೆ. ಎರಡನೆಯದಾಗಿ, ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ಹೆಚ್ಚು ಮುಖ್ಯವಾಗಿ, ಇದು ಬ್ರೌಸರ್ಗೆ ಪರಿಣಾಮಕಾರಿ "ಕಲ್ಲಿಂಗ್" (culling) ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಅಂಶವು ಸ್ವತಃ ವ್ಯೂಪೋರ್ಟ್ನ ಹೊರಗೆ (ಆಫ್-ಸ್ಕ್ರೀನ್) ಇದ್ದರೆ ಅಥವಾ ಇನ್ನೊಂದು ಅಂಶದಿಂದ ಮರೆಮಾಡಲ್ಪಟ್ಟಿದ್ದರೆ, ಬ್ರೌಸರ್ ಅದರ ಯಾವುದೇ ವಂಶಸ್ಥರನ್ನು ಪೇಂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ ಎಂದು ತಿಳಿದುಕೊಳ್ಳುತ್ತದೆ, ಇದರಿಂದ ಸಾಕಷ್ಟು ಸಂಸ್ಕರಣಾ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ.
ಪ್ರಯೋಜನಗಳು:
- ಕಡಿಮೆಯಾದ ರಿಪೇಂಟ್ ವ್ಯಾಪ್ತಿ: ರಿಪೇಂಟ್ ಮಾಡಬೇಕಾದ ಪ್ರದೇಶವನ್ನು ಅಂಶದ ಗಡಿಯೊಳಗೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.
- ಪರಿಣಾಮಕಾರಿ ಕಲ್ಲಿಂಗ್: ಕಂಟೈನಿಂಗ್ ಅಂಶವು ಗೋಚರಿಸದಿದ್ದರೆ, ಬ್ರೌಸರ್ಗೆ DOM ನ ಸಂಪೂರ್ಣ ಉಪ-ವೃಕ್ಷಗಳನ್ನು ಪೇಂಟ್ ಮಾಡುವುದನ್ನು ಬಿಟ್ಟುಬಿಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಇದು ದೀರ್ಘ ಪಟ್ಟಿಗಳು, ಕ್ಯಾರೌಸೆಲ್ಗಳು, ಅಥವಾ ಗುಪ್ತ ಯುಐ ಅಂಶಗಳಿಗೆ ನಂಬಲಾಗದಷ್ಟು ಉಪಯುಕ್ತವಾಗಿದೆ.
- ಮೆಮೊರಿ ಉಳಿತಾಯ: ಆಫ್-ಸ್ಕ್ರೀನ್ ವಿಷಯವನ್ನು ಪೇಂಟ್ ಮಾಡದಿರುವ ಮೂಲಕ, ಬ್ರೌಸರ್ಗಳು ಮೆಮೊರಿಯನ್ನು ಸಹ ಸಂರಕ್ಷಿಸಬಹುದು.
ಬಳಕೆಯ ಸಂದರ್ಭಗಳು:
- ಅನಂತ ಸ್ಕ್ರೋಲಿಂಗ್ ಪಟ್ಟಿಗಳು/ವರ್ಚುವಲೈಸ್ಡ್ ವಿಷಯ: ಸಾವಿರಾರು ಪಟ್ಟಿ ಐಟಂಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ, ಅವುಗಳಲ್ಲಿ ಕೇವಲ ಒಂದು ಭಾಗ ಮಾತ್ರ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಗೋಚರಿಸುತ್ತದೆ. ಪ್ರತಿ ಪಟ್ಟಿ ಐಟಂಗೆ (ಅಥವಾ ಪಟ್ಟಿ ಐಟಂಗಳ ಬ್ಯಾಚ್ಗಾಗಿ ಕಂಟೇನರ್ಗೆ)
contain: paint;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ ಕೇವಲ ಗೋಚರ ಐಟಂಗಳನ್ನು ಮಾತ್ರ ಪೇಂಟ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. - ಆಫ್-ಸ್ಕ್ರೀನ್ ಮಾಡಲ್ಗಳು/ಸೈಡ್ಬಾರ್ಗಳು: ನೀವು ಮಾಡಲ್ ಡೈಲಾಗ್, ನ್ಯಾವಿಗೇಷನ್ ಸೈಡ್ಬಾರ್, ಅಥವಾ ಆರಂಭದಲ್ಲಿ ಮರೆಮಾಡಲ್ಪಟ್ಟಿರುವ ಮತ್ತು ವೀಕ್ಷಣೆಗೆ ಬರುವ ಯಾವುದೇ ಯುಐ ಅಂಶವನ್ನು ಹೊಂದಿದ್ದರೆ, ಅದಕ್ಕೆ
contain: paint;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ ಅದು ಆಫ್-ಸ್ಕ್ರೀನ್ ಆಗಿರುವಾಗ ಬ್ರೌಸರ್ ಅದರ ಮೇಲೆ ಅನಗತ್ಯ ಪೇಂಟ್ ಕೆಲಸ ಮಾಡುವುದನ್ನು ತಡೆಯಬಹುದು. - ಲೇಜಿ ಲೋಡಿಂಗ್ನೊಂದಿಗೆ ಚಿತ್ರ ಗ್ಯಾಲರಿಗಳು: ಪುಟದಲ್ಲಿ ಬಹಳ ಕೆಳಗಿರುವ ಚಿತ್ರಗಳಿಗೆ, ಅವುಗಳ ಕಂಟೇನರ್ಗಳಿಗೆ
contain: paint;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ ಅವು ವೀಕ್ಷಣೆಗೆ ಸ್ಕ್ರಾಲ್ ಆಗುವವರೆಗೆ ಪೇಂಟ್ ಆಗುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಪರಿಗಣನೆಗಳು:
contain: paint;
ಪರಿಣಾಮಕಾರಿಯಾಗಿರಲು, ಅಂಶವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಗಾತ್ರವನ್ನು ಹೊಂದಿರಬೇಕು (ಸ್ಪಷ್ಟವಾಗಿ ಅಥವಾ ಪರೋಕ್ಷವಾಗಿ ಲೆಕ್ಕಹಾಕಿದ). ಗಾತ್ರವಿಲ್ಲದೆ, ಬ್ರೌಸರ್ ಕ್ಲಿಪ್ಪಿಂಗ್ ಅಥವಾ ಕಲ್ಲಿಂಗ್ಗಾಗಿ ಅದರ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಅನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.- ವಿಷಯವು ಅಂಶದ ಗಡಿಗಳನ್ನು ಮೀರಿದರೆ ಅದು ಕ್ಲಿಪ್ ಆಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನದಲ್ಲಿರಲಿ. ಇದು ಉದ್ದೇಶಿತ ನಡವಳಿಕೆಯಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ನಿರ್ವಹಿಸದಿದ್ದರೆ ಒಂದು ತೊಡಕಾಗಬಹುದು.
contain: size;
– ಆಯಾಮದ ಸ್ಥಿರತೆಯನ್ನು ಖಾತರಿಪಡಿಸುವುದು
ಒಂದು ಅಂಶಕ್ಕೆ contain: size;
ಅನ್ನು ಅನ್ವಯಿಸುವುದು ಬ್ರೌಸರ್ಗೆ ಒಂದು ಘೋಷಣೆಯಾಗಿದೆ: "ನನ್ನ ಗಾತ್ರ ಸ್ಥಿರವಾಗಿದೆ ಮತ್ತು ನನ್ನೊಳಗೆ ಯಾವ ವಿಷಯವಿದೆ ಅಥವಾ ಅದು ಹೇಗೆ ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಲೆಕ್ಕಿಸದೆ ಬದಲಾಗುವುದಿಲ್ಲ." ಇದು ಒಂದು ಶಕ್ತಿಯುತ ಸುಳಿವೆಯಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಬ್ರೌಸರ್ಗೆ ಅಂಶದ ಗಾತ್ರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಅದರ ಪೂರ್ವಜರು ಮತ್ತು ಸಹೋದರ ಅಂಶಗಳಿಗೆ ಲೇಔಟ್ ಲೆಕ್ಕಾಚಾರಗಳ ಸ್ಥಿರತೆಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: contain: size;
ಅನ್ನು ಬಳಸಿದಾಗ, ಬ್ರೌಸರ್ ಅಂಶದ ಆಯಾಮಗಳು ಬದಲಾಗುವುದಿಲ್ಲ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಇದು ಈ ಅಂಶಕ್ಕಾಗಿ ಅದರ ವಿಷಯ ಅಥವಾ ಮಕ್ಕಳ ಆಧಾರದ ಮೇಲೆ ಯಾವುದೇ ಗಾತ್ರದ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮಾಡುವುದಿಲ್ಲ. ಅಂಶದ ಅಗಲ ಅಥವಾ ಎತ್ತರವನ್ನು CSS ನಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸದಿದ್ದರೆ, ಬ್ರೌಸರ್ ಅದನ್ನು ಶೂನ್ಯ ಅಗಲ ಮತ್ತು ಎತ್ತರವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ, ಈ ಪ್ರಾಪರ್ಟಿ ಪರಿಣಾಮಕಾರಿ ಮತ್ತು ಉಪಯುಕ್ತವಾಗಲು, ಅಂಶವು ಇತರ CSS ಪ್ರಾಪರ್ಟಿಗಳ ಮೂಲಕ (`width`, `height`, `min-height` ನಂತಹ) ನಿರ್ದಿಷ್ಟ ಗಾತ್ರವನ್ನು ಹೊಂದಿರಬೇಕು.
ಪ್ರಯೋಜನಗಳು:
- ಗಾತ್ರದ ಮರುಲೆಕ್ಕಾಚಾರಗಳನ್ನು ನಿವಾರಿಸುತ್ತದೆ: ಬ್ರೌಸರ್ ಅಂಶದ ಗಾತ್ರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಬೇಕಾಗಿಲ್ಲದ ಕಾರಣ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ, ಇದು ಲೇಔಟ್ ಹಂತಕ್ಕೆ ಒಂದು ಪ್ರಮುಖ ಇನ್ಪುಟ್ ಆಗಿದೆ.
- ಲೇಔಟ್ ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ:
contain: layout;
ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಿದಾಗ, ಇದು ಈ ಅಂಶದ ಉಪಸ್ಥಿತಿಯು ಅಪ್ಸ್ಟ್ರೀಮ್ ಲೇಔಟ್ ಮರುಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಉಂಟುಮಾಡುವುದಿಲ್ಲ ಎಂಬ ಭರವಸೆಯನ್ನು ಮತ್ತಷ್ಟು ಬಲಪಡಿಸುತ್ತದೆ. - ಲೇಔಟ್ ಶಿಫ್ಟ್ಗಳನ್ನು ತಡೆಯುತ್ತದೆ (CLS ಸುಧಾರಣೆ): ಡೈನಾಮಿಕ್ ಆಗಿ ಲೋಡ್ ಆಗುವ ವಿಷಯಕ್ಕಾಗಿ (ಚಿತ್ರಗಳು ಅಥವಾ ಜಾಹೀರಾತುಗಳಂತೆ), ಅದರ ಕಂಟೇನರ್ನಲ್ಲಿ
contain: size;
ನೊಂದಿಗೆ ಸ್ಥಿರ ಗಾತ್ರವನ್ನು ಘೋಷಿಸುವುದು ಕ್ಯುಮುಲೇಟಿವ್ ಲೇಔಟ್ ಶಿಫ್ಟ್ (CLS) ಅನ್ನು ತಡೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಇದು ಒಂದು ನಿರ್ಣಾಯಕ ಕೋರ್ ವೆಬ್ ವೈಟಲ್ ಮೆಟ್ರಿಕ್ ಆಗಿದೆ. ವಿಷಯ ಲೋಡ್ ಆಗುವ ಮೊದಲೇ ಸ್ಥಳವನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗುತ್ತದೆ.
ಬಳಕೆಯ ಸಂದರ್ಭಗಳು:
- ಜಾಹೀರಾತು ಸ್ಲಾಟ್ಗಳು: ಜಾಹೀರಾತು ಘಟಕಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ಥಿರ ಆಯಾಮಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಜಾಹೀರಾತು ಕಂಟೇನರ್ಗೆ
contain: size;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ ಜಾಹೀರಾತು ವಿಷಯ ಬದಲಾದರೂ ಅದು ಪುಟದ ಲೇಔಟ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. - ಚಿತ್ರ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳು: ಚಿತ್ರ ಲೋಡ್ ಆಗುವ ಮೊದಲು, ನೀವು
contain: size;
ನೊಂದಿಗೆ ಒಂದು ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ ಅಂಶವನ್ನು ಬಳಸಿ ಅದರ ಸ್ಥಳವನ್ನು ಕಾಯ್ದಿರಿಸಬಹುದು, ಚಿತ್ರ ಅಂತಿಮವಾಗಿ ಕಾಣಿಸಿಕೊಂಡಾಗ ಲೇಔಟ್ ಶಿಫ್ಟ್ಗಳನ್ನು ತಡೆಯುತ್ತದೆ. - ವೀಡಿಯೊ ಪ್ಲೇಯರ್ಗಳು: ವೀಡಿಯೊ ಪ್ಲೇಯರ್ ಸ್ಥಿರ ಆಕಾರ ಅನುಪಾತ ಅಥವಾ ಆಯಾಮಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಅದರ ವ್ರ್ಯಾಪರ್ಗೆ
contain: size;
ಅನ್ವಯಿಸುವುದರಿಂದ ಅದರ ವಿಷಯವು ಸುತ್ತಮುತ್ತಲಿನ ಲೇಔಟ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಪರಿಗಣನೆಗಳು:
- ಸ್ಪಷ್ಟ ಗಾತ್ರಕ್ಕೆ ನಿರ್ಣಾಯಕ: ಅಂಶವು ಸ್ಪಷ್ಟವಾದ `width` ಅಥವಾ `height` (ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಗಾತ್ರಕ್ಕೆ ಪರಿಹರಿಸುವ `min-height`/`max-height`) ಹೊಂದಿಲ್ಲದಿದ್ದರೆ,
contain: size;
ಅದನ್ನು ಶೂನ್ಯ ಆಯಾಮಗಳಿಗೆ ಕುಸಿಯುವಂತೆ ಮಾಡುತ್ತದೆ, ಅದರ ವಿಷಯವನ್ನು ಮರೆಮಾಚುವ ಸಾಧ್ಯತೆಯಿದೆ. - ವಿಷಯ ಓವರ್ಫ್ಲೋ: ಅಂಶದೊಳಗಿನ ವಿಷಯವು ಘೋಷಿತ ಸ್ಥಿರ ಗಾತ್ರವನ್ನು ಮೀರಿ ಡೈನಾಮಿಕ್ ಆಗಿ ಬೆಳೆದರೆ, ಅದು ಓವರ್ಫ್ಲೋ ಆಗುತ್ತದೆ ಮತ್ತು
overflow: visible;
ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸದ ಹೊರತು ಕ್ಲಿಪ್ ಆಗಬಹುದು ಅಥವಾ ಮರೆಮಾಚಲ್ಪಡಬಹುದು (ಇದು ಕಂಟೈನ್ಮೆಂಟ್ನ ಕೆಲವು ಪ್ರಯೋಜನಗಳನ್ನು ನಿರಾಕರಿಸಬಹುದು). - ಇದನ್ನು ವಿರಳವಾಗಿ ಏಕಾಂಗಿಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಸಾಮಾನ್ಯವಾಗಿ `layout` ಮತ್ತು/ಅಥವಾ `paint` ಜೊತೆಗೆ.
contain: style;
– ಶೈಲಿ ಮರುಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಸೀಮಿತಗೊಳಿಸುವುದು
contain: style;
ಅನ್ನು ಬಳಸುವುದು ಬ್ರೌಸರ್ಗೆ ಹೀಗೆ ಹೇಳುತ್ತದೆ: "ನನ್ನ ವಂಶಸ್ಥರ ಶೈಲಿಗಳಿಗೆ ಆಗುವ ಬದಲಾವಣೆಗಳು ಯಾವುದೇ ಪೂರ್ವಜ ಅಥವಾ ಸಹೋದರ ಅಂಶಗಳ ಲೆಕ್ಕಾಚಾರ ಮಾಡಿದ ಶೈಲಿಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ." ಇದು ಶೈಲಿ ಅಮಾನ್ಯೀಕರಣ ಮತ್ತು ಮರುಲೆಕ್ಕಾಚಾರವನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದರ ಬಗ್ಗೆ, ಅವು DOM ಟ್ರೀಯಲ್ಲಿ ಮೇಲಕ್ಕೆ ಹರಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: ವಂಶಸ್ಥರ ಶೈಲಿ ಬದಲಾದಾಗ ಬ್ರೌಸರ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಅಂಶದ ಪೂರ್ವಜರು ಅಥವಾ ಸಹೋದರ ಅಂಶಗಳಿಗೆ ಶೈಲಿಗಳನ್ನು ಮರು-ಮೌಲ್ಯಮಾಪನ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇದು CSS ಕೌಂಟರ್ ರೀಸೆಟ್ಗಳು, ಉಪ-ವೃಕ್ಷ ಮಾಹಿತಿಯನ್ನು ಅವಲಂಬಿಸಿರುವ CSS ಪ್ರಾಪರ್ಟಿಗಳು (ಪೋಷಕ ಪಠ್ಯ ಶೈಲಿಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವ `first-line` ಅಥವಾ `first-letter` ಸೂಡೋ-ಎಲಿಮೆಂಟ್ಗಳಂತೆ), ಅಥವಾ ಪೋಷಕ ಶೈಲಿಗಳನ್ನು ಬದಲಾಯಿಸುವ ಸಂಕೀರ್ಣ `:hover` ಪರಿಣಾಮಗಳಿಂದ ಸಂಭವಿಸಬಹುದು. contain: style;
ಈ ರೀತಿಯ ಮೇಲ್ಮುಖ ಶೈಲಿ ಅವಲಂಬನೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
ಪ್ರಯೋಜನಗಳು:
- ಸಂಕುಚಿತ ಶೈಲಿ ವ್ಯಾಪ್ತಿ: ಶೈಲಿ ಮರುಲೆಕ್ಕಾಚಾರಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಕಂಟೈನ್ಡ್ ಅಂಶದೊಳಗೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ, ಶೈಲಿ ಅಮಾನ್ಯೀಕರಣಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಕಾರ್ಯಕ್ಷಮತೆ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
- ಊಹಿಸಬಹುದಾದ ಶೈಲಿ ಅನ್ವಯ: ಒಂದು ಕಾಂಪೊನೆಂಟ್ನೊಳಗಿನ ಆಂತರಿಕ ಶೈಲಿ ಬದಲಾವಣೆಗಳು ಪುಟದ ಇತರ ಸಂಬಂಧವಿಲ್ಲದ ಭಾಗಗಳ ನೋಟವನ್ನು ಅನಿರೀಕ್ಷಿತವಾಗಿ ಮುರಿಯುವುದಿಲ್ಲ ಅಥವಾ ಬದಲಾಯಿಸುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಬಳಕೆಯ ಸಂದರ್ಭಗಳು:
- ಡೈನಾಮಿಕ್ ಥೀಮಿಂಗ್ನೊಂದಿಗೆ ಸಂಕೀರ್ಣ ಕಾಂಪೊನೆಂಟ್ಗಳು: ಕಾಂಪೊನೆಂಟ್ಗಳು ತಮ್ಮದೇ ಆದ ಆಂತರಿಕ ಥೀಮಿಂಗ್ ತರ್ಕ ಅಥವಾ ಆಗಾಗ್ಗೆ ಬದಲಾಗುವ ಸ್ಥಿತಿ-ಅವಲಂಬಿತ ಶೈಲಿಗಳನ್ನು ಹೊಂದಿರಬಹುದಾದ ವಿನ್ಯಾಸ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ,
contain: style;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ ಈ ಬದಲಾವಣೆಗಳು ಸ್ಥಳೀಯವಾಗಿರುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. - ಮೂರನೇ-ಪಕ್ಷದ ವಿಜೆಟ್ಗಳು: ನೀವು ಮೂರನೇ-ಪಕ್ಷದ ಸ್ಕ್ರಿಪ್ಟ್ ಅಥವಾ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ಸಂಯೋಜಿಸಿದರೆ, ಅದು ತನ್ನದೇ ಆದ ಶೈಲಿಗಳನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಅವುಗಳನ್ನು ಡೈನಾಮಿಕ್ ಆಗಿ ಬದಲಾಯಿಸಬಹುದು, ಅದನ್ನು
contain: style;
ನೊಂದಿಗೆ ಕಂಟೈನ್ ಮಾಡುವುದರಿಂದ ಈ ಬಾಹ್ಯ ಶೈಲಿಗಳು ನಿಮ್ಮ ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ನ ಸ್ಟೈಲ್ಶೀಟ್ ಮೇಲೆ ಅನಿರೀಕ್ಷಿತವಾಗಿ ಪರಿಣಾಮ ಬೀರುವುದನ್ನು ತಡೆಯಬಹುದು.
ಪರಿಗಣನೆಗಳು:
contain: style;
ಬಹುಶಃ ಪ್ರತ್ಯೇಕವಾಗಿ ಅತ್ಯಂತ ಕಡಿಮೆ ಬಳಸಲಾಗುವ ಮೌಲ್ಯವಾಗಿದೆ ಏಕೆಂದರೆ ಅದರ ಪರಿಣಾಮಗಳು ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮ ಮತ್ತು ನಿರ್ದಿಷ್ಟ CSS ಸಂವಹನಗಳಿಗೆ ಮಾತ್ರ ಸಂಬಂಧಿಸಿವೆ.- ಇದು ಪರೋಕ್ಷವಾಗಿ ಅಂಶವನ್ನು `counter` ಮತ್ತು `font` ಪ್ರಾಪರ್ಟಿಗಳನ್ನು ಕಂಟೈನ್ ಮಾಡಲು ಹೊಂದಿಸುತ್ತದೆ, ಅಂದರೆ ಅಂಶದೊಳಗಿನ CSS ಕೌಂಟರ್ಗಳು ಮರುಹೊಂದಿಸಲ್ಪಡುತ್ತವೆ, ಮತ್ತು ಫಾಂಟ್ ಪ್ರಾಪರ್ಟಿ ಆನುವಂಶಿಕತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು. ನಿಮ್ಮ ವಿನ್ಯಾಸವು ಜಾಗತಿಕ ಕೌಂಟರ್ ಅಥವಾ ಫಾಂಟ್ ನಡವಳಿಕೆಯನ್ನು ಅವಲಂಬಿಸಿದ್ದರೆ ಇದು ಒಂದು ಬ್ರೇಕಿಂಗ್ ಬದಲಾವಣೆಯಾಗಬಹುದು.
- ಅದರ ಪರಿಣಾಮವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಾಮಾನ್ಯವಾಗಿ CSS ಆನುವಂಶಿಕತೆ ಮತ್ತು ಲೆಕ್ಕಾಚಾರ ನಿಯಮಗಳ ಆಳವಾದ ಜ್ಞಾನದ ಅಗತ್ಯವಿದೆ.
contain: content;
– ಪ್ರಾಯೋಗಿಕ ಶಾರ್ಟ್ಹ್ಯಾಂಡ್ (ಲೇಔಟ್ + ಪೇಂಟ್)
contain: content;
ಮೌಲ್ಯವು ಒಂದು ಅನುಕೂಲಕರ ಶಾರ್ಟ್ಹ್ಯಾಂಡ್ ಆಗಿದ್ದು, ಇದು ಎರಡು ಅತ್ಯಂತ ಆಗಾಗ್ಗೆ ಪ್ರಯೋಜನಕಾರಿ ಕಂಟೈನ್ಮೆಂಟ್ ಪ್ರಕಾರಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ: layout
ಮತ್ತು paint
. ಇದು contain: layout paint;
ಎಂದು ಬರೆಯುವುದಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ. ಇದು ಅನೇಕ ಸಾಮಾನ್ಯ ಯುಐ ಕಾಂಪೊನೆಂಟ್ಗಳಿಗೆ ಅತ್ಯುತ್ತಮ ಡೀಫಾಲ್ಟ್ ಆಯ್ಕೆಯಾಗಿದೆ.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: `content` ಅನ್ನು ಅನ್ವಯಿಸುವ ಮೂಲಕ, ನೀವು ಬ್ರೌಸರ್ಗೆ ಅಂಶದ ಆಂತರಿಕ ಲೇಔಟ್ ಬದಲಾವಣೆಗಳು ಹೊರಗಿನ ಯಾವುದರ ಮೇಲೂ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಹೇಳುತ್ತೀರಿ, ಮತ್ತು ಅದರ ಆಂತರಿಕ ಪೇಂಟ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಸಹ ಸೀಮಿತವಾಗಿರುತ್ತವೆ, ಅಂಶವು ಆಫ್-ಸ್ಕ್ರೀನ್ ಆಗಿದ್ದರೆ ಪರಿಣಾಮಕಾರಿ ಕಲ್ಲಿಂಗ್ಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಇದು ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರಯೋಜನಗಳು ಮತ್ತು ಸಂಭಾವ್ಯ ಅಡ್ಡಪರಿಣಾಮಗಳ ನಡುವಿನ ಒಂದು ದೃಢವಾದ ಸಮತೋಲನವಾಗಿದೆ.
ಪ್ರಯೋಜನಗಳು:
- ವ್ಯಾಪಕ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆ: ಎರಡು ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಕಾರ್ಯಕ್ಷಮತೆ ಅಡಚಣೆಗಳನ್ನು (ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್) ಒಂದೇ ಘೋಷಣೆಯೊಂದಿಗೆ ಪರಿಹರಿಸುತ್ತದೆ.
- ಸುರಕ್ಷಿತ ಡೀಫಾಲ್ಟ್: ಇದು `strict` ಗಿಂತ ಬಳಸಲು ಸಾಮಾನ್ಯವಾಗಿ ಸುರಕ್ಷಿತವಾಗಿದೆ ಏಕೆಂದರೆ ಇದು `size` ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ವಿಧಿಸುವುದಿಲ್ಲ, ಅಂದರೆ ಅಂಶವು ತನ್ನ ವಿಷಯದ ಆಧಾರದ ಮೇಲೆ ಇನ್ನೂ ಬೆಳೆಯಬಹುದು ಅಥವಾ ಕುಗ್ಗಬಹುದು, ಇದು ಡೈನಾಮಿಕ್ ಯುಐಗಳಿಗೆ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತದೆ.
- ಸರಳೀಕೃತ ಕೋಡ್: `layout` ಮತ್ತು `paint` ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಘೋಷಿಸುವುದಕ್ಕೆ ಹೋಲಿಸಿದರೆ ವರ್ಬಾಸಿಟಿಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಬಳಕೆಯ ಸಂದರ್ಭಗಳು:
- ವೈಯಕ್ತಿಕ ಪಟ್ಟಿ ಐಟಂಗಳು: ಲೇಖನಗಳು, ಉತ್ಪನ್ನಗಳು, ಅಥವಾ ಸಂದೇಶಗಳ ಡೈನಾಮಿಕ್ ಪಟ್ಟಿಯಲ್ಲಿ, ಪ್ರತಿ ಪಟ್ಟಿ ಐಟಂಗೆ
contain: content;
ಅನ್ನು ಅನ್ವಯಿಸುವುದರಿಂದ, ಐಟಂ ಅನ್ನು ಸೇರಿಸುವುದು/ತೆಗೆದುಹಾಕುವುದು ಅಥವಾ ಅದರ ಆಂತರಿಕ ವಿಷಯವನ್ನು ಬದಲಾಯಿಸುವುದು (ಉದಾ., ಚಿತ್ರ ಲೋಡ್ ಆಗುವುದು, ವಿವರಣೆ ವಿಸ್ತರಿಸುವುದು) ಆ ನಿರ್ದಿಷ್ಟ ಐಟಂಗೆ ಮಾತ್ರ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಅನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ, ಸಂಪೂರ್ಣ ಪಟ್ಟಿ ಅಥವಾ ಪುಟಕ್ಕಲ್ಲ. - ಡ್ಯಾಶ್ಬೋರ್ಡ್ ವಿಜೆಟ್ಗಳು: ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ವಿಜೆಟ್ಗೂ
contain: content;
ಅನ್ನು ನೀಡಬಹುದು, ಅದರ ಸ್ವಾವಲಂಬನೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. - ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ ಕಾರ್ಡ್ಗಳು: ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ ಸಾರಾಂಶಗಳ ಗ್ರಿಡ್ಗಾಗಿ, ಪ್ರತಿ ಕಾರ್ಡ್ ಚಿತ್ರ, ಶೀರ್ಷಿಕೆ, ಮತ್ತು ಆಯ್ದ ಭಾಗವನ್ನು ಹೊಂದಿರುವಲ್ಲಿ,
contain: content;
ರೆಂಡರಿಂಗ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಬಹುದು.
ಪರಿಗಣನೆಗಳು:
- ಸಾಮಾನ್ಯವಾಗಿ ಸುರಕ್ಷಿತವಾಗಿದ್ದರೂ, `paint` ಕಂಟೈನ್ಮೆಂಟ್ ಎಂದರೆ ವಿಷಯವು ಅಂಶದ ಗಡಿಗಳನ್ನು ಮೀರಿದರೆ ಕ್ಲಿಪ್ ಆಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ.
- ಅಂಶವು ತನ್ನ ವಿಷಯದ ಆಧಾರದ ಮೇಲೆ ಮರುಗಾತ್ರಗೊಳ್ಳುತ್ತದೆ, ಆದ್ದರಿಂದ ಲೇಔಟ್ ಶಿಫ್ಟ್ಗಳನ್ನು ತಡೆಯಲು ನಿಮಗೆ ನಿಜವಾಗಿಯೂ ಸ್ಥಿರ ಗಾತ್ರದ ಅಗತ್ಯವಿದ್ದರೆ, ನೀವು ಸ್ಪಷ್ಟವಾಗಿ
contain: size;
ಅನ್ನು ಸೇರಿಸಬೇಕು ಅಥವಾ CSS ನೊಂದಿಗೆ ಆಯಾಮಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕು.
contain: strict;
– ಅಂತಿಮ ಪ್ರತ್ಯೇಕತೆ (ಲೇಔಟ್ + ಪೇಂಟ್ + ಗಾತ್ರ + ಶೈಲಿ)
contain: strict;
ಕಂಟೈನ್ಮೆಂಟ್ನ ಅತ್ಯಂತ ಆಕ್ರಮಣಕಾರಿ ರೂಪವಾಗಿದೆ, ಇದು contain: layout paint size style;
ಎಂದು ಘೋಷಿಸುವುದಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ. ನೀವು contain: strict;
ಅನ್ನು ಅನ್ವಯಿಸಿದಾಗ, ನೀವು ಬ್ರೌಸರ್ಗೆ ಬಹಳ ಬಲವಾದ ಭರವಸೆಯನ್ನು ನೀಡುತ್ತಿದ್ದೀರಿ: "ಈ ಅಂಶವು ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರತ್ಯೇಕವಾಗಿದೆ. ಇದರ ಮಕ್ಕಳ ಶೈಲಿಗಳು, ಲೇಔಟ್, ಪೇಂಟ್, ಮತ್ತು ಅದರ ಸ್ವಂತ ಗಾತ್ರವೂ ಸಹ ಅದರ ಹೊರಗಿನ ಎಲ್ಲದರಿಂದ ಸ್ವತಂತ್ರವಾಗಿವೆ."
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: ಈ ಮೌಲ್ಯವು ಬ್ರೌಸರ್ಗೆ ರೆಂಡರಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು ಗರಿಷ್ಠ ಸಂಭಾವ್ಯ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಅಂಶದ ಗಾತ್ರವು ಸ್ಥಿರವಾಗಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ (ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸದಿದ್ದರೆ ಶೂನ್ಯಕ್ಕೆ ಕುಸಿಯುತ್ತದೆ), ಅದರ ಪೇಂಟ್ ಕ್ಲಿಪ್ ಆಗಿದೆ, ಅದರ ಲೇಔಟ್ ಸ್ವತಂತ್ರವಾಗಿದೆ, ಮತ್ತು ಅದರ ಶೈಲಿಗಳು ಪೂರ್ವಜರ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ. ಇದು ಬ್ರೌಸರ್ಗೆ ಡಾಕ್ಯುಮೆಂಟ್ನ ಉಳಿದ ಭಾಗವನ್ನು ಪರಿಗಣಿಸುವಾಗ ಈ ಅಂಶಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಬಹುತೇಕ ಎಲ್ಲಾ ಗಣನೆಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಪ್ರಯೋಜನಗಳು:
- ಗರಿಷ್ಠ ಕಾರ್ಯಕ್ಷಮತೆ ಲಾಭಗಳು: ರೆಂಡರಿಂಗ್ ಕೆಲಸವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರತ್ಯೇಕಿಸುವ ಮೂಲಕ ಅತ್ಯಂತ ಗಮನಾರ್ಹವಾದ ಸಂಭಾವ್ಯ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆಗಳನ್ನು ನೀಡುತ್ತದೆ.
- ಬಲವಾದ ಊಹಿಸುವಿಕೆ: ಅಂಶವು ಪುಟದ ಉಳಿದ ಭಾಗದಲ್ಲಿ ಯಾವುದೇ ಅನಿರೀಕ್ಷಿತ ರಿಫ್ಲೋ ಅಥವಾ ರಿಪೇಂಟ್ಗಳನ್ನು ಉಂಟುಮಾಡುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
- ನಿಜವಾಗಿಯೂ ಸ್ವತಂತ್ರ ಕಾಂಪೊನೆಂಟ್ಗಳಿಗೆ ಸೂಕ್ತ: ನಿಜವಾಗಿಯೂ ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಮತ್ತು ಆಯಾಮಗಳು ತಿಳಿದಿರುವ ಅಥವಾ ನಿಖರವಾಗಿ ನಿಯಂತ್ರಿಸಲ್ಪಡುವ ಕಾಂಪೊನೆಂಟ್ಗಳಿಗೆ ಪರಿಪೂರ್ಣ.
ಬಳಕೆಯ ಸಂದರ್ಭಗಳು:
- ಸಂಕೀರ್ಣ ಸಂವಾದಾತ್ಮಕ ನಕ್ಷೆಗಳು: ಡೈನಾಮಿಕ್ ಟೈಲ್ಸ್ ಮತ್ತು ಮಾರ್ಕರ್ಗಳನ್ನು ಲೋಡ್ ಮಾಡುವ ನಕ್ಷೆ ಕಾಂಪೊನೆಂಟ್, ಅದರ ಆಯಾಮಗಳು ಪುಟದಲ್ಲಿ ಸ್ಥಿರವಾಗಿರುತ್ತವೆ.
- ಕಸ್ಟಮ್ ವೀಡಿಯೊ ಪ್ಲೇಯರ್ಗಳು ಅಥವಾ ಸಂಪಾದಕರು: ಪ್ಲೇಯರ್ ಪ್ರದೇಶವು ಸ್ಥಿರ ಗಾತ್ರವನ್ನು ಹೊಂದಿದ್ದು ಮತ್ತು ಅದರ ಆಂತರಿಕ ಯುಐ ಅಂಶಗಳು ಸುತ್ತಮುತ್ತಲಿನ ಪುಟದ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದೆ ಆಗಾಗ್ಗೆ ಬದಲಾಗುತ್ತವೆ.
- ಗೇಮ್ ಕ್ಯಾನ್ವಾಸ್ಗಳು: ಡಾಕ್ಯುಮೆಂಟ್ನೊಳಗೆ ಸ್ಥಿರ ಗಾತ್ರದೊಂದಿಗೆ ಕ್ಯಾನ್ವಾಸ್ ಅಂಶದ ಮೇಲೆ ರೆಂಡರ್ ಮಾಡಲಾದ ವೆಬ್-ಆಧಾರಿತ ಆಟಗಳಿಗೆ.
- ಹೆಚ್ಚು ಆಪ್ಟಿಮೈಸ್ಡ್ ವರ್ಚುವಲೈಸ್ಡ್ ಗ್ರಿಡ್ಗಳು: ದೊಡ್ಡ ಡೇಟಾ ಗ್ರಿಡ್ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಸೆಲ್ ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಗಾತ್ರ ಮತ್ತು ನಿರ್ವಹಿಸಲ್ಪಡುವ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ.
ಪರಿಗಣನೆಗಳು:
- ಸ್ಪಷ್ಟ ಗಾತ್ರದ ಅಗತ್ಯವಿದೆ: ಇದು
contain: size;
ಅನ್ನು ಒಳಗೊಂಡಿರುವುದರಿಂದ, ಅಂಶವು ನಿರ್ದಿಷ್ಟ `width` ಮತ್ತು `height` (ಅಥವಾ ಇತರ ಗಾತ್ರದ ಪ್ರಾಪರ್ಟಿಗಳು) ಹೊಂದಿರಬೇಕು. ಇಲ್ಲದಿದ್ದರೆ, ಅದು ಶೂನ್ಯಕ್ಕೆ ಕುಸಿಯುತ್ತದೆ, ಅದರ ವಿಷಯವನ್ನು ಅದೃಶ್ಯವಾಗಿಸುತ್ತದೆ. ಇದು ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾದ ತೊಡಕಾಗಿದೆ. - ವಿಷಯ ಕ್ಲಿಪ್ಪಿಂಗ್: `paint` ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿರುವುದರಿಂದ, ಘೋಷಿತ ಆಯಾಮಗಳನ್ನು ಮೀರಿದ ಯಾವುದೇ ವಿಷಯವು ಕ್ಲಿಪ್ ಆಗುತ್ತದೆ.
- ಗುಪ್ತ ಸಮಸ್ಯೆಗಳ ಸಂಭಾವ್ಯತೆ: ಇದು ತುಂಬಾ ಆಕ್ರಮಣಕಾರಿಯಾಗಿರುವುದರಿಂದ, ಕಾಂಪೊನೆಂಟ್ ಊಹಿಸಿದಷ್ಟು ಸ್ವತಂತ್ರವಾಗಿಲ್ಲದಿದ್ದರೆ ಅನಿರೀಕ್ಷಿತ ನಡವಳಿಕೆ ಸಂಭವಿಸಬಹುದು. ಸಂಪೂರ್ಣ ಪರೀಕ್ಷೆ ಅತ್ಯಗತ್ಯ.
- ಕಡಿಮೆ ಹೊಂದಿಕೊಳ್ಳುವಿಕೆ: `size` ನಿರ್ಬಂಧದ ಕಾರಣ, ವಿಷಯಕ್ಕೆ ಸ್ವಾಭಾವಿಕವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುವ ಕಾಂಪೊನೆಂಟ್ಗಳಿಗೆ ಇದು ಕಡಿಮೆ ಸೂಕ್ತವಾಗಿದೆ.
ನೈಜ-ಪ್ರಪಂಚದ ಅನ್ವಯಗಳು: ಜಾಗತಿಕ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ಹೆಚ್ಚಿಸುವುದು
ಸಿಎಸ್ಎಸ್ ಕಂಟೈನ್ಮೆಂಟ್ನ ಸೌಂದರ್ಯವು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ಗಳಲ್ಲಿ ಅದರ ಪ್ರಾಯೋಗಿಕ ಅನ್ವಯದಲ್ಲಿದೆ, ಇದು ವಿಶ್ವಾದ್ಯಂತ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ಸುಧಾರಿಸುವ ಸ್ಪಷ್ಟವಾದ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರಯೋಜನಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. contain
ಗಮನಾರ್ಹ ವ್ಯತ್ಯಾಸವನ್ನು ಮಾಡಬಹುದಾದ ಕೆಲವು ಸಾಮಾನ್ಯ ಸನ್ನಿವೇಶಗಳನ್ನು ಅನ್ವೇಷಿಸೋಣ:
ಅನಂತ ಸ್ಕ್ರೋಲಿಂಗ್ ಪಟ್ಟಿಗಳು ಮತ್ತು ಗ್ರಿಡ್ಗಳನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡುವುದು
ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಫೀಡ್ಗಳಿಂದ ಹಿಡಿದು ಇ-ಕಾಮರ್ಸ್ ಉತ್ಪನ್ನ ಪಟ್ಟಿಗಳವರೆಗೆ ಅನೇಕ ಆಧುನಿಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಅಪಾರ ಪ್ರಮಾಣದ ವಿಷಯವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಅನಂತ ಸ್ಕ್ರೋಲಿಂಗ್ ಅಥವಾ ವರ್ಚುವಲೈಸ್ಡ್ ಪಟ್ಟಿಗಳನ್ನು ಬಳಸುತ್ತವೆ. ಸರಿಯಾದ ಆಪ್ಟಿಮೈಸೇಶನ್ ಇಲ್ಲದೆ, ಅಂತಹ ಪಟ್ಟಿಗಳಿಗೆ ಹೊಸ ಐಟಂಗಳನ್ನು ಸೇರಿಸುವುದು, ಅಥವಾ ಅವುಗಳ ಮೂಲಕ ಸ್ಕ್ರಾಲ್ ಮಾಡುವುದು ಕೂಡ ವ್ಯೂಪೋರ್ಟ್ಗೆ ಪ್ರವೇಶಿಸುವ ಮತ್ತು ನಿರ್ಗಮಿಸುವ ಅಂಶಗಳಿಗೆ ನಿರಂತರ ಮತ್ತು ದುಬಾರಿ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪ್ರಚೋದಿಸಬಹುದು. ಇದು ಜರ್ಕ್ ಮತ್ತು ನಿರಾಶಾದಾಯಕ ಬಳಕೆದಾರ ಅನುಭವಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ಮೊಬೈಲ್ ಸಾಧನಗಳಲ್ಲಿ ಅಥವಾ ವಿವಿಧ ಜಾಗತಿಕ ಪ್ರದೇಶಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾದ ನಿಧಾನಗತಿಯ ನೆಟ್ವರ್ಕ್ಗಳಲ್ಲಿ.
contain
ನೊಂದಿಗೆ ಪರಿಹಾರ: ಪ್ರತಿಯೊಂದು ಪಟ್ಟಿ ಐಟಂಗೆ (ಉದಾ., `<ul>` ನಲ್ಲಿನ `<li>` ಅಂಶಗಳು ಅಥವಾ ಗ್ರಿಡ್ನಲ್ಲಿನ `<div>` ಅಂಶಗಳು) contain: content;
(ಅಥವಾ `contain: layout paint;`) ಅನ್ನು ಅನ್ವಯಿಸುವುದು ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ. ಇದು ಒಂದು ಪಟ್ಟಿ ಐಟಂನೊಳಗಿನ ಬದಲಾವಣೆಗಳು (ಉದಾ., ಚಿತ್ರ ಲೋಡ್ ಆಗುವುದು, ಪಠ್ಯ ವಿಸ್ತರಿಸುವುದು) ಇತರ ಐಟಂಗಳ ಲೇಔಟ್ ಅಥವಾ ಒಟ್ಟಾರೆ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಬ್ರೌಸರ್ಗೆ ಹೇಳುತ್ತದೆ.
.list-item {
contain: content; /* ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ಗಾಗಿ ಶಾರ್ಟ್ಹ್ಯಾಂಡ್ */
/* ಊಹಿಸಬಹುದಾದ ಗಾತ್ರಕ್ಕಾಗಿ display, width, height ನಂತಹ ಇತರ ಅಗತ್ಯ ಸ್ಟೈಲಿಂಗ್ ಸೇರಿಸಿ */
}
ಪ್ರಯೋಜನಗಳು: ಬ್ರೌಸರ್ ಈಗ ಗೋಚರ ಪಟ್ಟಿ ಐಟಂಗಳ ರೆಂಡರಿಂಗ್ ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸಬಹುದು. ಒಂದು ಐಟಂ ವೀಕ್ಷಣೆಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿದಾಗ, ಕೇವಲ ಅದರ ವೈಯಕ್ತಿಕ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಅನ್ನು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ, ಮತ್ತು ಅದು ಹೊರಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿದಾಗ, ಬ್ರೌಸರ್ ಬೇರೆ ಯಾವುದಕ್ಕೂ ಪರಿಣಾಮ ಬೀರದೆ ಅದನ್ನು ರೆಂಡರ್ ಮಾಡುವುದನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಬಿಟ್ಟುಬಿಡಬಹುದು ಎಂದು ತಿಳಿದಿರುತ್ತದೆ. ಇದು ಗಮನಾರ್ಹವಾಗಿ ಸುಗಮವಾದ ಸ್ಕ್ರೋಲಿಂಗ್ ಮತ್ತು ಕಡಿಮೆ ಮೆಮೊರಿ ಬಳಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್ ಜಗತ್ತಿನಾದ್ಯಂತ ವಿವಿಧ ಹಾರ್ಡ್ವೇರ್ ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರಿಗೆ ಹೆಚ್ಚು ಸ್ಪಂದಿಸುವ ಮತ್ತು ಪ್ರವೇಶಿಸಬಹುದಾದಂತೆ ಭಾಸವಾಗುತ್ತದೆ.
ಸ್ವತಂತ್ರ ಯುಐ ವಿಜೆಟ್ಗಳು ಮತ್ತು ಕಾರ್ಡ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವುದು
ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳು, ಸುದ್ದಿ ಪೋರ್ಟಲ್ಗಳು, ಮತ್ತು ಅನೇಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಮಾಡ್ಯುಲರ್ ವಿಧಾನವನ್ನು ಬಳಸಿ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ವಿವಿಧ ರೀತಿಯ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸುವ ಅನೇಕ ಸ್ವತಂತ್ರ "ವಿಜೆಟ್ಗಳು" ಅಥವಾ "ಕಾರ್ಡ್ಗಳು" ಇರುತ್ತವೆ. ಪ್ರತಿಯೊಂದು ವಿಜೆಟ್ ತನ್ನದೇ ಆದ ಆಂತರಿಕ ಸ್ಥಿತಿ, ಡೈನಾಮಿಕ್ ವಿಷಯ, ಅಥವಾ ಸಂವಾದಾತ್ಮಕ ಅಂಶಗಳನ್ನು ಹೊಂದಿರಬಹುದು. ಕಂಟೈನ್ಮೆಂಟ್ ಇಲ್ಲದೆ, ಒಂದು ವಿಜೆಟ್ನಲ್ಲಿನ ಅಪ್ಡೇಟ್ (ಉದಾ., ಚಾರ್ಟ್ ಅನಿಮೇಟ್ ಆಗುವುದು, ಎಚ್ಚರಿಕೆ ಸಂದೇಶ ಕಾಣಿಸಿಕೊಳ್ಳುವುದು) ಸಂಪೂರ್ಣ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಾದ್ಯಂತ ಅಜಾಗರೂಕತೆಯಿಂದ ರಿಫ್ಲೋ ಅಥವಾ ರಿಪೇಂಟ್ ಅನ್ನು ಪ್ರಚೋದಿಸಬಹುದು, ಇದು ಗಮನಾರ್ಹವಾದ ಚಂಚಲತೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
contain
ನೊಂದಿಗೆ ಪರಿಹಾರ: ಪ್ರತಿಯೊಂದು ಉನ್ನತ-ಮಟ್ಟದ ವಿಜೆಟ್ ಅಥವಾ ಕಾರ್ಡ್ ಕಂಟೇನರ್ಗೆ contain: content;
ಅನ್ನು ಅನ್ವಯಿಸಿ.
.dashboard-widget {
contain: content;
/* ಬಾಹ್ಯ ರಿಫ್ಲೋಗಳಿಗೆ ಕಾರಣವಾಗದಂತೆ ನಿರ್ದಿಷ್ಟ ಆಯಾಮಗಳನ್ನು ಅಥವಾ ಹೊಂದಿಕೊಳ್ಳುವ ಗಾತ್ರವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ */
}
.product-card {
contain: content;
/* ಸ್ಥಿರ ಗಾತ್ರವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ ಅಥವಾ ಸ್ಥಿರ ಲೇಔಟ್ಗಾಗಿ flex/grid ಬಳಸಿ */
}
ಪ್ರಯೋಜನಗಳು: ವೈಯಕ್ತಿಕ ವಿಜೆಟ್ ಅಪ್ಡೇಟ್ ಆದಾಗ, ಅದರ ರೆಂಡರಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಅದರ ಗಡಿಯೊಳಗೆ ಸೀಮಿತವಾಗಿರುತ್ತವೆ. ಬ್ರೌಸರ್ ಇತರ ವಿಜೆಟ್ಗಳು ಅಥವಾ ಮುಖ್ಯ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ರಚನೆಗೆ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಅನ್ನು ಮರು-ಮೌಲ್ಯಮಾಪನ ಮಾಡುವುದನ್ನು ಆತ್ಮವಿಶ್ವಾಸದಿಂದ ಬಿಟ್ಟುಬಿಡಬಹುದು. ಇದು ಹೆಚ್ಚು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮತ್ತು ಸ್ಥಿರವಾದ ಯುಐಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಅಲ್ಲಿ ಡೈನಾಮಿಕ್ ಅಪ್ಡೇಟ್ಗಳು ಒಟ್ಟಾರೆ ಪುಟದ ಸಂಕೀರ್ಣತೆಯನ್ನು ಲೆಕ್ಕಿಸದೆ ಸುಗಮವಾಗಿ ಭಾಸವಾಗುತ್ತವೆ, ವಿಶ್ವಾದ್ಯಂತ ಸಂಕೀರ್ಣ ಡೇಟಾ ದೃಶ್ಯೀಕರಣಗಳು ಅಥವಾ ಸುದ್ದಿ ಫೀಡ್ಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಬಳಕೆದಾರರಿಗೆ ಪ್ರಯೋಜನವಾಗುತ್ತದೆ.
ಆಫ್-ಸ್ಕ್ರೀನ್ ವಿಷಯವನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸುವುದು
ಅನೇಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಆರಂಭದಲ್ಲಿ ಮರೆಮಾಡಲ್ಪಟ್ಟ ಮತ್ತು ನಂತರ ಬಹಿರಂಗಪಡಿಸಲಾದ ಅಥವಾ ವೀಕ್ಷಣೆಗೆ ಅನಿಮೇಟ್ ಮಾಡಲಾದ ಅಂಶಗಳನ್ನು ಬಳಸುತ್ತವೆ, ಉದಾಹರಣೆಗೆ ಮಾಡಲ್ ಡೈಲಾಗ್ಗಳು, ಆಫ್-ಕ್ಯಾನ್ವಾಸ್ ನ್ಯಾವಿಗೇಷನ್ ಮೆನುಗಳು, ಅಥವಾ ವಿಸ್ತರಿಸಬಹುದಾದ ವಿಭಾಗಗಳು. ಈ ಅಂಶಗಳು ಮರೆಮಾಡಲ್ಪಟ್ಟಿರುವಾಗ (ಉದಾ., `display: none;` ಅಥವಾ `visibility: hidden;` ನೊಂದಿಗೆ), ಅವು ರೆಂಡರಿಂಗ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, ಅವುಗಳನ್ನು ಕೇವಲ ಆಫ್-ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ಇರಿಸಿದರೆ ಅಥವಾ ಪಾರದರ್ಶಕಗೊಳಿಸಿದರೆ (ಉದಾ., `left: -9999px;` ಅಥವಾ `opacity: 0;` ಬಳಸಿ), ಬ್ರೌಸರ್ ಅವುಗಳಿಗಾಗಿ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮಾಡಬಹುದು, ಸಂಪನ್ಮೂಲಗಳನ್ನು ವ್ಯರ್ಥಮಾಡುತ್ತದೆ.
contain
ನೊಂದಿಗೆ ಪರಿಹಾರ: ಈ ಆಫ್-ಸ್ಕ್ರೀನ್ ಅಂಶಗಳಿಗೆ contain: paint;
ಅನ್ನು ಅನ್ವಯಿಸಿ. ಉದಾಹರಣೆಗೆ, ಬಲದಿಂದ ಸ್ಲೈಡ್ ಆಗುವ ಮಾಡಲ್ ಡೈಲಾಗ್:
.modal-dialog {
position: fixed;
right: -100vw; /* ಆರಂಭದಲ್ಲಿ ಆಫ್-ಸ್ಕ್ರೀನ್ */
width: 100vw;
height: 100vh;
contain: paint; /* ಗೋಚರಿಸದಿದ್ದರೆ ಇದನ್ನು ಕಲ್ ಮಾಡಲು ಸರಿ ಎಂದು ಬ್ರೌಸರ್ಗೆ ತಿಳಿಸಿ */
transition: right 0.3s ease-out;
}
.modal-dialog.is-visible {
right: 0;
}
ಪ್ರಯೋಜನಗಳು: contain: paint;
ನೊಂದಿಗೆ, ಬ್ರೌಸರ್ಗೆ ಮಾಡಲ್ ಡೈಲಾಗ್ನ ವಿಷಯವು ಅಂಶವು ವ್ಯೂಪೋರ್ಟ್ನ ಹೊರಗಿದ್ದರೆ ಪೇಂಟ್ ಆಗುವುದಿಲ್ಲ ಎಂದು ಸ್ಪಷ್ಟವಾಗಿ ಹೇಳಲಾಗುತ್ತದೆ. ಇದರರ್ಥ ಮಾಡಲ್ ಆಫ್-ಸ್ಕ್ರೀನ್ ಆಗಿರುವಾಗ, ಬ್ರೌಸರ್ ಅದರ ಸಂಕೀರ್ಣ ಆಂತರಿಕ ರಚನೆಗಾಗಿ ಅನಗತ್ಯ ಪೇಂಟಿಂಗ್ ಚಕ್ರಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ, ಇದು ವೇಗದ ಆರಂಭಿಕ ಪುಟ ಲೋಡ್ಗಳು ಮತ್ತು ಮಾಡಲ್ ವೀಕ್ಷಣೆಗೆ ಬಂದಾಗ ಸುಗಮವಾದ ಪರಿವರ್ತನೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಸೀಮಿತ ಸಂಸ್ಕರಣಾ ಶಕ್ತಿಯನ್ನು ಹೊಂದಿರುವ ಸಾಧನಗಳಲ್ಲಿ ಬಳಕೆದಾರರಿಗೆ ಸೇವೆ ಸಲ್ಲಿಸುವ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಇದು ನಿರ್ಣಾಯಕವಾಗಿದೆ.
ಎಂಬೆಡೆಡ್ ಮೂರನೇ-ಪಕ್ಷದ ವಿಷಯದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದು
ಜಾಹೀರಾತು ಘಟಕಗಳು, ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ವಿಜೆಟ್ಗಳು, ಅಥವಾ ಎಂಬೆಡೆಡ್ ವೀಡಿಯೊ ಪ್ಲೇಯರ್ಗಳಂತಹ ಮೂರನೇ-ಪಕ್ಷದ ವಿಷಯವನ್ನು ಸಂಯೋಜಿಸುವುದು (ಸಾಮಾನ್ಯವಾಗಿ `<iframe>` ಮೂಲಕ ವಿತರಿಸಲಾಗುತ್ತದೆ) ಕಾರ್ಯಕ್ಷಮತೆ ಸಮಸ್ಯೆಗಳ ಪ್ರಮುಖ ಮೂಲವಾಗಬಹುದು. ಈ ಬಾಹ್ಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ವಿಷಯವು ಅನಿರೀಕ್ಷಿತವಾಗಿರಬಹುದು, ಸಾಮಾನ್ಯವಾಗಿ ತಮ್ಮದೇ ಆದ ರೆಂಡರಿಂಗ್ಗಾಗಿ ಗಮನಾರ್ಹ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ, ಮತ್ತು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಹೋಸ್ಟ್ ಪುಟದಲ್ಲಿ ರಿಫ್ಲೋ ಅಥವಾ ರಿಪೇಂಟ್ಗಳನ್ನು ಉಂಟುಮಾಡಬಹುದು. ವೆಬ್ ಸೇವೆಗಳ ಜಾಗತಿಕ ಸ್ವರೂಪವನ್ನು ಗಮನಿಸಿದರೆ, ಈ ಮೂರನೇ-ಪಕ್ಷದ ಅಂಶಗಳು ಆಪ್ಟಿಮೈಸೇಶನ್ನಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬದಲಾಗಬಹುದು.
contain
ನೊಂದಿಗೆ ಪರಿಹಾರ: `<iframe>` ಅಥವಾ ಮೂರನೇ-ಪಕ್ಷದ ವಿಜೆಟ್ಗಾಗಿ ಕಂಟೇನರ್ ಅನ್ನು `contain: strict;` ಅಥವಾ ಕನಿಷ್ಠ `contain: content;` ಮತ್ತು `contain: size;` ಹೊಂದಿರುವ ಅಂಶದಲ್ಲಿ ಸುತ್ತಿ.
.third-party-ad-wrapper {
width: 300px;
height: 250px;
contain: strict; /* ಅಥವಾ contain: layout paint size; */
/* ಜಾಹೀರಾತು ಸುತ್ತಮುತ್ತಲಿನ ಲೇಔಟ್/ಪೇಂಟ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ */
}
.social-widget-container {
width: 400px;
height: 600px;
contain: strict;
}
ಪ್ರಯೋಜನಗಳು: `strict` ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ಅನ್ವಯಿಸುವ ಮೂಲಕ, ನೀವು ಸಾಧ್ಯವಾದಷ್ಟು ಬಲವಾದ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಒದಗಿಸುತ್ತೀರಿ. ಮೂರನೇ-ಪಕ್ಷದ ವಿಷಯವು ಅದರ ಗೊತ್ತುಪಡಿಸಿದ ವ್ರ್ಯಾಪರ್ನ ಹೊರಗಿನ ಯಾವುದರ ಗಾತ್ರ, ಲೇಔಟ್, ಶೈಲಿ, ಅಥವಾ ಪೇಂಟ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಬ್ರೌಸರ್ಗೆ ಹೇಳಲಾಗುತ್ತದೆ. ಇದು ಬಾಹ್ಯ ವಿಷಯವು ನಿಮ್ಮ ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕುಗ್ಗಿಸುವ ಸಂಭಾವ್ಯತೆಯನ್ನು ನಾಟಕೀಯವಾಗಿ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ, ಎಂಬೆಡೆಡ್ ವಿಷಯದ ಮೂಲ ಅಥವಾ ಆಪ್ಟಿಮೈಸೇಶನ್ ಮಟ್ಟವನ್ನು ಲೆಕ್ಕಿಸದೆ ಬಳಕೆದಾರರಿಗೆ ಹೆಚ್ಚು ಸ್ಥಿರ ಮತ್ತು ವೇಗದ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಕಾರ್ಯತಂತ್ರದ ಅನುಷ್ಠಾನ: contain
ಅನ್ನು ಯಾವಾಗ ಮತ್ತು ಹೇಗೆ ಅನ್ವಯಿಸಬೇಕು
contain
ಗಮನಾರ್ಹ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡುತ್ತದೆಯಾದರೂ, ಇದು ಮನಬಂದಂತೆ ಅನ್ವಯಿಸಬೇಕಾದ ಮಾಂತ್ರಿಕ ಪರಿಹಾರವಲ್ಲ. ಕಾರ್ಯತಂತ್ರದ ಅನುಷ್ಠಾನವು ಅನಿರೀಕ್ಷಿತ ಅಡ್ಡಪರಿಣಾಮಗಳನ್ನು ಪರಿಚಯಿಸದೆ ಅದರ ಶಕ್ತಿಯನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ಪ್ರಮುಖವಾಗಿದೆ. ಅದನ್ನು ಯಾವಾಗ ಮತ್ತು ಹೇಗೆ ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಪ್ರತಿಯೊಬ್ಬ ವೆಬ್ ಡೆವಲಪರ್ಗೆ ನಿರ್ಣಾಯಕವಾಗಿದೆ.
ಕಂಟೈನ್ಮೆಂಟ್ಗಾಗಿ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಗುರುತಿಸುವುದು
contain
ಪ್ರಾಪರ್ಟಿಯನ್ನು ಅನ್ವಯಿಸಲು ಉತ್ತಮ ಅಭ್ಯರ್ಥಿಗಳು ಈ ಕೆಳಗಿನ ಅಂಶಗಳಾಗಿವೆ:
- ಪುಟದಲ್ಲಿನ ಇತರ ಅಂಶಗಳಿಂದ ಅವುಗಳ ಆಂತರಿಕ ಲೇಔಟ್ ಮತ್ತು ಶೈಲಿಯ ವಿಷಯದಲ್ಲಿ ಹೆಚ್ಚಾಗಿ ಸ್ವತಂತ್ರವಾಗಿರುವ ಅಂಶಗಳು.
- ಊಹಿಸಬಹುದಾದ ಅಥವಾ ಸ್ಥಿರ ಗಾತ್ರವನ್ನು ಹೊಂದಿರುವ, ಅಥವಾ ಅವುಗಳ ಗಾತ್ರವು ಜಾಗತಿಕ ಲೇಔಟ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದ ರೀತಿಯಲ್ಲಿ ಬದಲಾಗುವ ಅಂಶಗಳು.
- ಆಗಾಗ್ಗೆ ಆಂತರಿಕ ನವೀಕರಣಗಳಿಗೆ ಒಳಗಾಗುವ, ಉದಾಹರಣೆಗೆ ಅನಿಮೇಷನ್ಗಳು, ಡೈನಾಮಿಕ್ ವಿಷಯ ಲೋಡಿಂಗ್, ಅಥವಾ ಸ್ಥಿತಿ ಬದಲಾವಣೆಗಳು.
- ಸಾಮಾನ್ಯವಾಗಿ ಆಫ್-ಸ್ಕ್ರೀನ್ ಅಥವಾ ಮರೆಮಾಡಲ್ಪಟ್ಟಿರುವ, ಆದರೆ ತ್ವರಿತ ಪ್ರದರ್ಶನಕ್ಕಾಗಿ DOM ನ ಭಾಗವಾಗಿರುವ ಅಂಶಗಳು.
- ಮೂರನೇ-ಪಕ್ಷದ ಕಾಂಪೊನೆಂಟ್ಗಳು, ಅವುಗಳ ಆಂತರಿಕ ರೆಂಡರಿಂಗ್ ನಡವಳಿಕೆಯು ನಿಮ್ಮ ನಿಯಂತ್ರಣದಿಂದ ಹೊರಗಿರುತ್ತದೆ.
ಅಳವಡಿಕೆಗಾಗಿ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು
ಸಿಎಸ್ಎಸ್ ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಿಕೊಳ್ಳಲು, ಈ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಪರಿಗಣಿಸಿ:
- ಮೊದಲು ಪ್ರೊಫೈಲ್ ಮಾಡಿ, ನಂತರ ಆಪ್ಟಿಮೈಜ್ ಮಾಡಿ: ಬ್ರೌಸರ್ ಡೆವಲಪರ್ ಪರಿಕರಗಳನ್ನು (ಉದಾ., Chrome DevTools Performance tab, Firefox Performance Monitor) ಬಳಸಿ ವಾಸ್ತವಿಕ ಕಾರ್ಯಕ್ಷಮತೆ ಅಡಚಣೆಗಳನ್ನು ಗುರುತಿಸುವುದು ಅತ್ಯಂತ ನಿರ್ಣಾಯಕ ಹಂತವಾಗಿದೆ. ದೀರ್ಘಕಾಲ ಚಲಿಸುವ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಕಾರ್ಯಗಳನ್ನು ನೋಡಿ.
contain
ಅನ್ನು ಕುರುಡಾಗಿ ಅನ್ವಯಿಸಬೇಡಿ; ಇದು ಒಂದು ಉದ್ದೇಶಿತ ಆಪ್ಟಿಮೈಸೇಶನ್ ಆಗಿರಬೇಕು. content
ನೊಂದಿಗೆ ಸಣ್ಣದಾಗಿ ಪ್ರಾರಂಭಿಸಿ: ಹೆಚ್ಚಿನ ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಯುಐ ಕಾಂಪೊನೆಂಟ್ಗಳಿಗೆ (ಉದಾ., ಕಾರ್ಡ್ಗಳು, ಪಟ್ಟಿ ಐಟಂಗಳು, ಮೂಲ ವಿಜೆಟ್ಗಳು),contain: content;
ಒಂದು ಅತ್ಯುತ್ತಮ ಮತ್ತು ಸುರಕ್ಷಿತ ಆರಂಭಿಕ ಹಂತವಾಗಿದೆ. ಇದು ಕಟ್ಟುನಿಟ್ಟಾದ ಗಾತ್ರದ ನಿರ್ಬಂಧಗಳನ್ನು ವಿಧಿಸದೆ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ಗಾಗಿ ಗಮನಾರ್ಹ ಪ್ರಯೋಜನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.- ಗಾತ್ರದ ಪರಿಣಾಮಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ: ನೀವು
contain: size;
ಅಥವಾcontain: strict;
ಅನ್ನು ಬಳಸಿದರೆ, ಅಂಶವು ನಿಮ್ಮ CSS ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟ `width` ಮತ್ತು `height` (ಅಥವಾ ಇತರ ಗಾತ್ರದ ಪ್ರಾಪರ್ಟಿಗಳು) ಹೊಂದಿರುವುದು ಸಂಪೂರ್ಣವಾಗಿ ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಹಾಗೆ ಮಾಡಲು ವಿಫಲವಾದರೆ ಅಂಶವು ಕುಸಿದು ಅದರ ವಿಷಯವು ಅದೃಶ್ಯವಾಗುತ್ತದೆ. - ಬ್ರೌಸರ್ಗಳು ಮತ್ತು ಸಾಧನಗಳಾದ್ಯಂತ ಸಂಪೂರ್ಣವಾಗಿ ಪರೀಕ್ಷಿಸಿ:
contain
ಗೆ ಬ್ರೌಸರ್ ಬೆಂಬಲವು ಪ್ರಬಲವಾಗಿದ್ದರೂ, ನಿಮ್ಮ ಅನುಷ್ಠಾನವನ್ನು ವಿವಿಧ ಬ್ರೌಸರ್ಗಳು, ಆವೃತ್ತಿಗಳು, ಮತ್ತು ವಿಶೇಷವಾಗಿ ವಿವಿಧ ಸಾಧನಗಳು (ಡೆಸ್ಕ್ಟಾಪ್, ಮೊಬೈಲ್, ಟ್ಯಾಬ್ಲೆಟ್) ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಯಾವಾಗಲೂ ಪರೀಕ್ಷಿಸಿ. ಉನ್ನತ-ಮಟ್ಟದ ಡೆಸ್ಕ್ಟಾಪ್ನಲ್ಲಿ ಪರಿಪೂರ್ಣವಾಗಿ ಕೆಲಸ ಮಾಡುವುದು ನಿಧಾನಗತಿಯ ಇಂಟರ್ನೆಟ್ ಹೊಂದಿರುವ ಪ್ರದೇಶದಲ್ಲಿನ ಹಳೆಯ ಮೊಬೈಲ್ ಸಾಧನದಲ್ಲಿ ವಿಭಿನ್ನವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು. - ಪ್ರವೇಶಸಾಧ್ಯತೆಯನ್ನು ಪರಿಗಣಿಸಿ:
contain
ಅನ್ನು ಅನ್ವಯಿಸುವುದು ಅನಿರೀಕ್ಷಿತವಾಗಿ ಸ್ಕ್ರೀನ್ ರೀಡರ್ಗಳಿಂದ ವಿಷಯವನ್ನು ಮರೆಮಾಡುವುದಿಲ್ಲ ಅಥವಾ ಸಹಾಯಕ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಅವಲಂಬಿಸಿರುವ ಬಳಕೆದಾರರಿಗೆ ಕೀಬೋರ್ಡ್ ನ್ಯಾವಿಗೇಷನ್ ಅನ್ನು ಮುರಿಯುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನಿಜವಾಗಿಯೂ ಆಫ್-ಸ್ಕ್ರೀನ್ ಇರುವ ಅಂಶಗಳಿಗೆ, ಅವುಗಳನ್ನು ವೀಕ್ಷಣೆಗೆ ತಂದಾಗ ಫೋಕಸ್ ಮಾಡಲು ಅಥವಾ ಓದಲು ಉದ್ದೇಶಿಸಿದ್ದರೆ ಅವುಗಳನ್ನು ಪ್ರವೇಶಸಾಧ್ಯತೆಗಾಗಿ ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. - ಇತರ ತಂತ್ರಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಿ:
contain
ಶಕ್ತಿಯುತವಾಗಿದೆ, ಆದರೆ ಇದು ಒಂದು ವಿಶಾಲವಾದ ಕಾರ್ಯಕ್ಷಮತೆ ಕಾರ್ಯತಂತ್ರದ ಭಾಗವಾಗಿದೆ. ಇದನ್ನು ಲೇಜಿ ಲೋಡಿಂಗ್, ಚಿತ್ರ ಆಪ್ಟಿಮೈಸೇಶನ್, ಮತ್ತು ಸಮರ್ಥ JavaScript ನಂತಹ ಇತರ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಿ.
ಸಾಮಾನ್ಯ ತೊಡಕುಗಳು ಮತ್ತು ಅವುಗಳನ್ನು ತಪ್ಪಿಸುವುದು ಹೇಗೆ
- ಅನಿರೀಕ್ಷಿತ ವಿಷಯ ಕ್ಲಿಪ್ಪಿಂಗ್: ಅತ್ಯಂತ ಆಗಾಗ್ಗೆ ಬರುವ ಸಮಸ್ಯೆ, ವಿಶೇಷವಾಗಿ
contain: paint;
ಅಥವಾcontain: strict;
ನೊಂದಿಗೆ. ನಿಮ್ಮ ವಿಷಯವು ಕಂಟೈನ್ಡ್ ಅಂಶದ ಗಡಿಗಳನ್ನು ಮೀರಿದರೆ, ಅದು ಕ್ಲಿಪ್ ಆಗುತ್ತದೆ. ನಿಮ್ಮ ಗಾತ್ರವು ದೃಢವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಅಥವಾ ಸೂಕ್ತವಾದಲ್ಲಿ `overflow: visible;` ಬಳಸಿ (ಆದರೂ ಇದು ಕೆಲವು ಪೇಂಟ್ ಕಂಟೈನ್ಮೆಂಟ್ ಪ್ರಯೋಜನಗಳನ್ನು ನಿರಾಕರಿಸಬಹುದು). contain: size;
ನೊಂದಿಗೆ ಅಂಶಗಳ ಕುಸಿತ: ಹೇಳಿದಂತೆ,contain: size;
ಹೊಂದಿರುವ ಅಂಶವು ಸ್ಪಷ್ಟ ಆಯಾಮಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಅದು ಕುಸಿಯುತ್ತದೆ. ಯಾವಾಗಲೂcontain: size;
ಅನ್ನು ನಿರ್ದಿಷ್ಟ `width` ಮತ್ತು `height` ನೊಂದಿಗೆ ಜೋಡಿಸಿ.contain: style;
ಪರಿಣಾಮಗಳನ್ನು ತಪ್ಪಾಗಿ ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು: ವಿಶಿಷ್ಟ ಬಳಕೆಯ ಸಂದರ್ಭಗಳಿಗೆ ವಿರಳವಾಗಿ ಸಮಸ್ಯಾತ್ಮಕವಾಗಿದ್ದರೂ,contain: style;
CSS ಕೌಂಟರ್ಗಳನ್ನು ಮರುಹೊಂದಿಸಬಹುದು ಅಥವಾ ಅದರ ವಂಶಸ್ಥರಿಗೆ ಫಾಂಟ್ ಪ್ರಾಪರ್ಟಿ ಆನುವಂಶಿಕತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು. ನಿಮ್ಮ ವಿನ್ಯಾಸವು ಅವುಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದ್ದರೆ ಈ ನಿರ್ದಿಷ್ಟ ಪರಿಣಾಮಗಳ ಬಗ್ಗೆ ಗಮನವಿರಲಿ.- ಅತಿಯಾದ ಅನ್ವಯ: ಪ್ರತಿಯೊಂದು ಅಂಶಕ್ಕೂ ಕಂಟೈನ್ಮೆಂಟ್ ಅಗತ್ಯವಿಲ್ಲ. ಪುಟದಲ್ಲಿನ ಪ್ರತಿಯೊಂದು `<div>` ಗೆ ಅದನ್ನು ಅನ್ವಯಿಸುವುದು ತನ್ನದೇ ಆದ ಓವರ್ಹೆಡ್ ಅನ್ನು ಪರಿಚMshಯಿಸಬಹುದು ಅಥವಾ ಯಾವುದೇ ಅಳೆಯಬಹುದಾದ ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಿರದಿರಬಹುದು. ಅಡಚಣೆಗಳು ಗುರುತಿಸಲ್ಪಟ್ಟಲ್ಲಿ ಅದನ್ನು ವಿವೇಚನೆಯಿಂದ ಬಳಸಿ.
contain
ಅನ್ನು ಮೀರಿ: ವೆಬ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಮಗ್ರ ನೋಟ
ಸಿಎಸ್ಎಸ್ contain
ರೆಂಡರಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರತ್ಯೇಕತೆಗಾಗಿ ನಂಬಲಾಗದಷ್ಟು ಮೌಲ್ಯಯುತ ಸಾಧನವಾಗಿದ್ದರೂ, ಇದು ಒಂದು ದೊಡ್ಡ ಒಗಟಿನ ಒಂದು ಭಾಗ ಮಾತ್ರ ಎಂದು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದು ನಿರ್ಣಾಯಕ. ನಿಜವಾಗಿಯೂ ಕಾರ್ಯಕ್ಷಮತೆಯುಳ್ಳ ವೆಬ್ ಅನುಭವವನ್ನು ನಿರ್ಮಿಸಲು ಸಮಗ್ರ ದೃಷ್ಟಿಕೋನದ ಅಗತ್ಯವಿದೆ, ಅನೇಕ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಸಂಯೋಜಿಸುವುದು. contain
ಈ ವಿಶಾಲ ಭೂದೃಶ್ಯಕ್ಕೆ ಹೇಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಜಾಗತಿಕವಾಗಿ ಉತ್ಕೃಷ್ಟವಾಗಿರುವ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅಧಿಕಾರ ನೀಡುತ್ತದೆ.
content-visibility
: ಒಂದು ಶಕ್ತಿಯುತ ಸಹೋದರ: ಆಗಾಗ್ಗೆ ಆಫ್-ಸ್ಕ್ರೀನ್ ಇರುವ ಅಂಶಗಳಿಗೆ,content-visibility
`contain: paint;` ಗಿಂತಲೂ ಹೆಚ್ಚು ಆಕ್ರಮಣಕಾರಿ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ನೀಡುತ್ತದೆ. ಒಂದು ಅಂಶವು `content-visibility: auto;` ಹೊಂದಿರುವಾಗ, ಅದು ಆಫ್-ಸ್ಕ್ರೀನ್ ಆಗಿರುವಾಗ ಬ್ರೌಸರ್ ಅದರ ಉಪ-ವೃಕ್ಷವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ರೆಂಡರ್ ಮಾಡುವುದನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ, ಅದು ಗೋಚರಿಸಲಿರುವಾಗ ಮಾತ್ರ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಇದು ದೀರ್ಘ, ಸ್ಕ್ರಾಲ್ ಮಾಡಬಹುದಾದ ಪುಟಗಳು ಅಥವಾ ಅಕಾರ್ಡಿಯನ್ಗಳಿಗೆ ನಂಬಲಾಗದಷ್ಟು ಪ್ರಬಲವಾಗಿದೆ. ಇದು ಆಫ್-ಸ್ಕ್ರೀನ್ ಮತ್ತು ಆನ್-ಸ್ಕ್ರೀನ್ ಸ್ಥಿತಿಗಳ ನಡುವೆ ಪರಿವರ್ತನೆಗೊಳ್ಳುವ ಅಂಶಗಳಿಗೆcontain: layout;
ನೊಂದಿಗೆ ಚೆನ್ನಾಗಿ ಜೋಡಿಯಾಗುತ್ತದೆ.will-change
: ಉದ್ದೇಶಪೂರ್ವಕ ಸುಳಿವುಗಳು:will-change
CSS ಪ್ರಾಪರ್ಟಿಯು, ನೀವು ಮುಂದಿನ ದಿನಗಳಲ್ಲಿ ಒಂದು ಅಂಶದ ಮೇಲೆ ಯಾವ ಪ್ರಾಪರ್ಟಿಗಳನ್ನು ಅನಿಮೇಟ್ ಮಾಡಲು ಅಥವಾ ಬದಲಾಯಿಸಲು ನಿರೀಕ್ಷಿಸುತ್ತೀರಿ ಎಂದು ಬ್ರೌಸರ್ಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಸುಳಿವು ನೀಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಬ್ರೌಸರ್ಗೆ ಅದರ ರೆಂಡರಿಂಗ್ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು ಸಮಯವನ್ನು ನೀಡುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಅಂಶವನ್ನು ಅದರ ಸ್ವಂತ ಪದರಕ್ಕೆ ಬಡ್ತಿ ನೀಡುವುದರ ಮೂಲಕ, ಇದು ಸುಗಮವಾದ ಅನಿಮೇಷನ್ಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. ಇದನ್ನು ಮಿತವಾಗಿ ಮತ್ತು ನಿಜವಾಗಿಯೂ ನಿರೀಕ್ಷಿತ ಬದಲಾವಣೆಗಳಿಗೆ ಮಾತ್ರ ಬಳಸಿ, ಏಕೆಂದರೆ ಅತಿಯಾದ ಅನ್ವಯವು ಹೆಚ್ಚಿದ ಮೆಮೊರಿ ಬಳಕೆಗೆ ಕಾರಣವಾಗಬಹುದು.- ವರ್ಚುವಲೈಸೇಶನ್ ಮತ್ತು ವಿಂಡೋಯಿಂಗ್ ತಂತ್ರಗಳು: ಅತ್ಯಂತ ದೊಡ್ಡ ಪಟ್ಟಿಗಳಿಗೆ (ಸಾವಿರಾರು ಅಥವಾ ಹತ್ತಾರು ಸಾವಿರ ಐಟಂಗಳು),
contain: content;
ಕೂಡ ಸಾಕಾಗದೇ ಇರಬಹುದು. ವರ್ಚುವಲೈಸೇಶನ್ (ಅಥವಾ ವಿಂಡೋಯಿಂಗ್) ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಫ್ರೇಮ್ವರ್ಕ್ಗಳು ಮತ್ತು ಲೈಬ್ರರಿಗಳು ಪ್ರಸ್ತುತ ವ್ಯೂಪೋರ್ಟ್ನಲ್ಲಿ ಗೋಚರಿಸುವ ಪಟ್ಟಿ ಐಟಂಗಳ ಸಣ್ಣ ಉಪವಿಭಾಗವನ್ನು ಮಾತ್ರ ರೆಂಡರ್ ಮಾಡುತ್ತವೆ, ಬಳಕೆದಾರರು ಸ್ಕ್ರಾಲ್ ಮಾಡುವಾಗ ಡೈನಾಮಿಕ್ ಆಗಿ ಐಟಂಗಳನ್ನು ಸೇರಿಸುತ್ತವೆ ಮತ್ತು ತೆಗೆದುಹಾಕುತ್ತವೆ. ಬೃಹತ್ ಡೇಟಾ ಸೆಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಇದು ಅಂತಿಮ ತಂತ್ರವಾಗಿದೆ. - ಸಿಎಸ್ಎಸ್ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು:
contain
ಅನ್ನು ಮೀರಿ, ಸಿಎಸ್ಎಸ್ ಸಂಘಟನೆಗೆ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಬಳಸಿ (ಉದಾ., BEM, ITCSS), ಸಂಕೀರ್ಣ ಸೆಲೆಕ್ಟರ್ಗಳ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಿ, ಮತ್ತು ಸಾಧ್ಯವಾದಲ್ಲೆಲ್ಲಾ `!important` ಅನ್ನು ತಪ್ಪಿಸಿ. ಸಮರ್ಥ ಸಿಎಸ್ಎಸ್ ವಿತರಣೆ (ಮಿನಿಫಿಕೇಶನ್, ಕನ್ಕ್ಯಾಟಿನೇಶನ್, ಕ್ರಿಟಿಕಲ್ ಸಿಎಸ್ಎಸ್ ಇನ್ಲೈನಿಂಗ್) ಕೂಡ ವೇಗದ ಆರಂಭಿಕ ರೆಂಡರ್ಗಳಿಗೆ ಅತ್ಯಗತ್ಯ. - JavaScript ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು: DOM ಅನ್ನು ಸಮರ್ಥವಾಗಿ ನಿರ್ವಹಿಸಿ, ದುಬಾರಿ ಮರುಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಪ್ರಚೋದಿಸುವ ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಡಿಬೌನ್ಸ್ ಅಥವಾ ಥ್ರಾಟಲ್ ಮಾಡಿ, ಮತ್ತು ಸೂಕ್ತವಾದಲ್ಲಿ ಭಾರೀ ಗಣನೆಗಳನ್ನು ವೆಬ್ ವರ್ಕರ್ಗಳಿಗೆ ಆಫ್ಲೋಡ್ ಮಾಡಿ. ಮುಖ್ಯ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸುವ JavaScript ಪ್ರಮಾಣವನ್ನು ಕಡಿಮೆ ಮಾಡಿ.
- ನೆಟ್ವರ್ಕ್ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು: ಇದು ಚಿತ್ರ ಆಪ್ಟಿಮೈಸೇಶನ್ (ಸಂಕೋಚನ, ಸರಿಯಾದ ಫಾರ್ಮ್ಯಾಟ್ಗಳು, ಸ್ಪಂದಿಸುವ ಚಿತ್ರಗಳು), ಚಿತ್ರಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳ ಲೇಜಿ ಲೋಡಿಂಗ್, ಸಮರ್ಥ ಫಾಂಟ್ ಲೋಡಿಂಗ್ ತಂತ್ರಗಳು, ಮತ್ತು ಜಾಗತಿಕ ಬಳಕೆದಾರರಿಗೆ ಹತ್ತಿರದಲ್ಲಿ ಸ್ವತ್ತುಗಳನ್ನು ಪೂರೈಸಲು ಕಂಟೆಂಟ್ ಡೆಲಿವರಿ ನೆಟ್ವರ್ಕ್ಗಳನ್ನು (CDNs) ಬಳಸಿಕೊಳ್ಳುವುದನ್ನು ಒಳಗೊಂಡಿದೆ.
- ಸರ್ವರ್-ಸೈಡ್ ರೆಂಡರಿಂಗ್ (SSR) / ಸ್ಟ್ಯಾಟಿಕ್ ಸೈಟ್ ಜನರೇಷನ್ (SSG): ನಿರ್ಣಾಯಕ ವಿಷಯಕ್ಕಾಗಿ, ಸರ್ವರ್ನಲ್ಲಿ ಅಥವಾ ಬಿಲ್ಡ್ ಸಮಯದಲ್ಲಿ HTML ಅನ್ನು ಉತ್ಪಾದಿಸುವುದು ಗ್ರಹಿಸಿದ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಕೋರ್ ವೆಬ್ ವೈಟಲ್ಗಳನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿಸಬಹುದು, ಏಕೆಂದರೆ ಆರಂಭಿಕ ರೆಂಡರ್ ಪೂರ್ವ-ಗಣನೆ ಮಾಡಲಾಗಿರುತ್ತದೆ.
ಸಿಎಸ್ಎಸ್ ಕಂಟೈನ್ಮೆಂಟ್ ಅನ್ನು ಈ ವಿಶಾಲ ಕಾರ್ಯತಂತ್ರಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸುವ ಮೂಲಕ, ಡೆವಲಪರ್ಗಳು ನಿಜವಾಗಿಯೂ ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು, ಅದು ಅವರ ಸಾಧನ, ನೆಟ್ವರ್ಕ್, ಅಥವಾ ಭೌಗೋಳಿಕ ಸ್ಥಳವನ್ನು ಲೆಕ್ಕಿಸದೆ ಎಲ್ಲೆಡೆಯ ಬಳಕೆದಾರರಿಗೆ ಉತ್ತಮ ಅನುಭವವನ್ನು ನೀಡುತ್ತದೆ.
ತೀರ್ಮಾನ: ಎಲ್ಲರಿಗಾಗಿ ವೇಗವಾದ, ಹೆಚ್ಚು ಪ್ರವೇಶಿಸಬಹುದಾದ ವೆಬ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು
ಸಿಎಸ್ಎಸ್ contain
ಪ್ರಾಪರ್ಟಿಯು ವೆಬ್ ಮಾನದಂಡಗಳ ನಿರಂತರ ವಿಕಾಸಕ್ಕೆ ಒಂದು ಸಾಕ್ಷಿಯಾಗಿ ನಿಂತಿದೆ, ಡೆವಲಪರ್ಗಳಿಗೆ ರೆಂಡರಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಸೂಕ್ಷ್ಮ ನಿಯಂತ್ರಣವನ್ನು ನೀಡುತ್ತದೆ. ಕಾಂಪೊನೆಂಟ್ಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಪ್ರತ್ಯೇಕಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುವ ಮೂಲಕ, ಇದು ಬ್ರೌಸರ್ಗಳಿಗೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಸಂಕೀರ್ಣ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಆಗಾಗ್ಗೆ ಕಾಡುವ ಅನಗತ್ಯ ಲೇಔಟ್ ಮತ್ತು ಪೇಂಟ್ ಕೆಲಸವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಇದು ನೇರವಾಗಿ ಹೆಚ್ಚು ಸುಗಮ, ಸ್ಪಂದಿಸುವ, ಮತ್ತು ಆನಂದದಾಯಕ ಬಳಕೆದಾರ ಅನುಭವವಾಗಿ ಅನುವಾದಗೊಳ್ಳುತ್ತದೆ.
ಡಿಜಿಟಲ್ ಉಪಸ್ಥಿತಿಯು ಪ್ರಧಾನವಾಗಿರುವ ಜಗತ್ತಿನಲ್ಲಿ, ಕಾರ್ಯಕ್ಷಮತೆಯುಳ್ಳ ಮತ್ತು ನಿಧಾನಗತಿಯ ವೆಬ್ಸೈಟ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಸಾಮಾನ್ಯವಾಗಿ ಯಶಸ್ಸು ಅಥವಾ ವೈಫಲ್ಯವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಸುಗಮ ಅನುಭವವನ್ನು ನೀಡುವ ಸಾಮರ್ಥ್ಯವು ಕೇವಲ ಸೌಂದರ್ಯದ ಬಗ್ಗೆ ಅಲ್ಲ; ಇದು ಪ್ರವೇಶಸಾಧ್ಯತೆ, ತೊಡಗಿಸಿಕೊಳ್ಳುವಿಕೆ, ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಜಗತ್ತಿನ ಪ್ರತಿಯೊಂದು ಮೂಲೆಯಿಂದ ಬರುವ ಬಳಕೆದಾರರಿಗೆ ಡಿಜಿಟಲ್ ಅಂತರವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದರ ಬಗ್ಗೆ. ಅಭಿವೃದ್ಧಿಶೀಲ ದೇಶದಲ್ಲಿ ಹಳೆಯ ಮೊಬೈಲ್ ಫೋನ್ನಲ್ಲಿ ನಿಮ್ಮ ಸೇವೆಯನ್ನು ಪ್ರವೇಶಿಸುವ ಬಳಕೆದಾರರು ಸಿಎಸ್ಎಸ್ ಕಂಟೈನ್ಮೆಂಟ್ನೊಂದಿಗೆ ಆಪ್ಟಿಮೈಜ್ ಮಾಡಿದ ಸೈಟ್ನಿಂದ ಅಪಾರವಾಗಿ ಪ್ರಯೋಜನ ಪಡೆಯುತ್ತಾರೆ, ಹೈ-ಎಂಡ್ ಡೆಸ್ಕ್ಟಾಪ್ನೊಂದಿಗೆ ಫೈಬರ್ ಆಪ್ಟಿಕ್ ಸಂಪರ್ಕದಲ್ಲಿರುವ ಬಳಕೆದಾರರಷ್ಟೇ.
ನಾವು ಎಲ್ಲಾ ಫ್ರಂಟ್-ಎಂಡ್ ಡೆವಲಪರ್ಗಳನ್ನು contain
ನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಅನ್ವೇಷಿಸಲು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಪ್ರೊಫೈಲ್ ಮಾಡಿ, ಆಪ್ಟಿಮೈಸೇಶನ್ಗೆ ಸಿದ್ಧವಾಗಿರುವ ಪ್ರದೇಶಗಳನ್ನು ಗುರುತಿಸಿ, ಮತ್ತು ಈ ಶಕ್ತಿಯುತ ಸಿಎಸ್ಎಸ್ ಘೋಷಣೆಗಳನ್ನು ಕಾರ್ಯತಂತ್ರವಾಗಿ ಅನ್ವಯಿಸಿ. contain
ಅನ್ನು ತ್ವರಿತ ಪರಿಹಾರವಾಗಿ ಅಲ್ಲ, ಬದಲಿಗೆ ನಿಮ್ಮ ವೆಬ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳ ದೃಢತೆ ಮತ್ತು ದಕ್ಷತೆಗೆ ಕೊಡುಗೆ ನೀಡುವ ಒಂದು ಚಿಂತನಶೀಲ, ವಾಸ್ತುಶಿಲ್ಪದ ನಿರ್ಧಾರವಾಗಿ ಸ್ವೀಕರಿಸಿ.
ಸಿಎಸ್ಎಸ್ ಕಂಟೈನ್ಮೆಂಟ್ನಂತಹ ತಂತ್ರಗಳ ಮೂಲಕ ರೆಂಡರಿಂಗ್ ಪೈಪ್ಲೈನ್ ಅನ್ನು ನಿಖರವಾಗಿ ಆಪ್ಟಿಮೈಜ್ ಮಾಡುವ ಮೂಲಕ, ನಾವು ವೇಗವಾದ, ಹೆಚ್ಚು ಸಮರ್ಥ, ಮತ್ತು ನಿಜವಾಗಿಯೂ ಎಲ್ಲರಿಗೂ, ಎಲ್ಲೆಡೆ ಪ್ರವೇಶಿಸಬಹುದಾದ ವೆಬ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಕೊಡುಗೆ ನೀಡುತ್ತೇವೆ. ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಈ ಬದ್ಧತೆಯು ಉತ್ತಮ ಜಾಗತಿಕ ಡಿಜಿಟಲ್ ಭವಿಷ್ಯಕ್ಕೆ ಒಂದು ಬದ್ಧತೆಯಾಗಿದೆ. ಇಂದೇ contain
ನೊಂದಿಗೆ ಪ್ರಯೋಗವನ್ನು ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ವೆಬ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮುಂದಿನ ಹಂತವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ!