CSS கண்டெய்ன்மென்ட் என்ற சக்திவாய்ந்த நுட்பத்தை ஆராயுங்கள். இது உலகளவில் பல்வேறு சாதனங்கள் மற்றும் நெட்வொர்க்குகளில் இணைய செயல்திறனை மேம்படுத்தி, ரெண்டரிங் செயல்திறனையும் பயனர் அனுபவத்தையும் உகந்ததாக்குகிறது.
CSS கண்டெய்ன்மென்ட்: உலகளாவிய இணைய அனுபவங்களுக்கான செயல்திறன் மேம்படுத்தலை வெளிக்கொணர்தல்
பிரம்மாண்டமான, ஒன்றோடொன்று இணைக்கப்பட்ட இணைய உலகில், பயனர்கள் எண்ணற்ற சாதனங்களிலிருந்து, மாறுபட்ட நெட்வொர்க் நிலைமைகளின் கீழ், மற்றும் உலகின் ஒவ்வொரு மூலையிலிருந்தும் உள்ளடக்கத்தை அணுகும்போது, உகந்த இணைய செயல்திறனை அடைவது என்பது ஒரு தொழில்நுட்ப நோக்கம் மட்டுமல்ல; அது அனைவரையும் உள்ளடக்கிய மற்றும் பயனுள்ள டிஜிட்டல் தகவல்தொடர்புக்கான ஒரு அடிப்படைத் தேவையாகும். மெதுவாக ஏற்றப்படும் வலைத்தளங்கள், தடுமாறும் அனிமேஷன்கள், மற்றும் பதிலளிக்காத இடைமுகங்கள் பயனர்களை அவர்களின் இருப்பிடம் அல்லது சாதனத்தின் நுட்பத்தைப் பொருட்படுத்தாமல் அந்நியப்படுத்தக்கூடும். ஒரு வலைப்பக்கத்தை ரெண்டர் செய்யும் அடிப்பட செயல்முறைகள் நம்பமுடியாத அளவிற்கு சிக்கலானதாக இருக்கலாம், மேலும் வலைப் பயன்பாடுகள் அம்ச செழுமை மற்றும் காட்சி சிக்கலான தன்மையில் வளரும்போது, ஒரு பயனரின் உலாவியில் வைக்கப்படும் கணக்கீட்டுத் தேவைகள் கணிசமாக அதிகரிக்கின்றன. இந்த அதிகரித்து வரும் தேவை பெரும்பாலும் செயல்திறன் தடைகளுக்கு வழிவகுக்கிறது, இது ஆரம்ப பக்க ஏற்றுதல் நேரங்களிலிருந்து பயனர் தொடர்புகளின் சீரான தன்மை வரை அனைத்தையும் பாதிக்கிறது.
நவீன வலை உருவாக்கம் ஆற்றல்மிக்க, ஊடாடும் அனுபவங்களை உருவாக்குவதை வலியுறுத்துகிறது. இருப்பினும், ஒரு வலைப்பக்கத்தில் ஏற்படும் ஒவ்வொரு மாற்றமும் - அது ஒரு உறுப்பு அளவு மாறுவதாக இருந்தாலும், உள்ளடக்கம் சேர்க்கப்படுவதாக இருந்தாலும், அல்லது ஒரு ஸ்டைல் பண்பு மாற்றப்படுவதாக இருந்தாலும் - உலாவியின் ரெண்டரிங் இயந்திரத்திற்குள் விலையுயர்ந்த கணக்கீடுகளின் தொடரைத் தூண்டக்கூடும். 'ரீஃப்ளோஸ்' (லேஅவுட் கணக்கீடுகள்) மற்றும் 'ரீபெயிண்ட்ஸ்' (பிக்சல் ரெண்டரிங்) என அறியப்படும் இந்த கணக்கீடுகள், குறிப்பாக குறைந்த சக்தி வாய்ந்த சாதனங்களில் அல்லது பல வளரும் பகுதிகளில் பொதுவாக காணப்படும் மெதுவான நெட்வொர்க் இணைப்புகளில், CPU சுழற்சிகளை விரைவாக உட்கொள்ளும். இந்த கட்டுரை இந்த செயல்திறன் சவால்களைத் தணிக்க வடிவமைக்கப்பட்ட ஒரு சக்திவாய்ந்த, ஆனால் பெரும்பாலும் குறைவாகப் பயன்படுத்தப்படும், CSS பண்பை ஆராய்கிறது: CSS கண்டெய்ன்மென்ட்
. contain
என்பதைப் புரிந்துகொண்டு மூலோபாய ரீதியாகப் பயன்படுத்துவதன் மூலம், டெவலப்பர்கள் தங்கள் வலைப் பயன்பாடுகளின் ரெண்டரிங் செயல்திறனை கணிசமாக மேம்படுத்தலாம், இது ஒரு உலகளாவிய பார்வையாளர்களுக்கு மென்மையான, அதிக பதிலளிக்கக்கூடிய மற்றும் சமமான அனுபவத்தை உறுதி செய்கிறது.
முக்கிய சவால்: உலகளவில் இணைய செயல்திறன் ஏன் முக்கியமானது
CSS கண்டெய்ன்மென்ட்டின் சக்தியை உண்மையாகப் பாராட்ட, உலாவியின் ரெண்டரிங் பைப்லைனைப் புரிந்துகொள்வது அவசியம். ஒரு உலாவி HTML, CSS, மற்றும் JavaScript-ஐப் பெறும்போது, பக்கத்தைக் காண்பிக்க பல முக்கியமான படிகள் வழியாகச் செல்கிறது:
- DOM கட்டுமானம்: உலாவி HTML-ஐப் பிரித்து ஆவண பொருள் மாதிரியை (DOM) உருவாக்குகிறது, இது பக்கத்தின் கட்டமைப்பைக் குறிக்கிறது.
- CSSOM கட்டுமானம்: இது CSS-ஐப் பிரித்து CSS பொருள் மாதிரியை (CSSOM) உருவாக்குகிறது, இது ஒவ்வொரு உறுப்புக்குமான ஸ்டைல்களைக் குறிக்கிறது.
- ரெண்டர் மரம் உருவாக்கம்: DOM மற்றும் CSSOM ஆகியவை ரெண்டர் மரத்தை உருவாக்க இணைக்கப்படுகின்றன, இதில் தெரியும் உறுப்புகள் மற்றும் அவற்றின் கணக்கிடப்பட்ட ஸ்டைல்கள் மட்டுமே உள்ளன.
- லேஅவுட் (ரீஃப்ளோ): உலாவி ரெண்டர் மரத்தில் உள்ள ஒவ்வொரு உறுப்பின் துல்லியமான நிலை மற்றும் அளவைக் கணக்கிடுகிறது. இது மிகவும் CPU-தீவிரமான செயல்பாடு ஆகும், ஏனெனில் பக்கத்தின் ஒரு பகுதியில் ஏற்படும் மாற்றங்கள் மற்ற பல உறுப்புகளின் லேஅவுட்டை பாதிக்கக்கூடும், சில சமயங்களில் முழு ஆவணத்தையும் கூட பாதிக்கலாம்.
- பெயிண்ட் (ரீபெயிண்ட்): உலாவி பின்னர் ஒவ்வொரு உறுப்புக்கும் பிக்சல்களை நிரப்புகிறது, வண்ணங்கள், கிரேடியன்ட்கள், படங்கள் மற்றும் பிற காட்சி பண்புகளைப் பயன்படுத்துகிறது.
- கம்போசிட்டிங்: இறுதியாக, பெயிண்ட் செய்யப்பட்ட லேயர்கள் திரையில் இறுதிப் படத்தைக் காண்பிக்க இணைக்கப்படுகின்றன.
செயல்திறன் சவால்கள் முதன்மையாக லேஅவுட் மற்றும் பெயிண்ட் கட்டங்களிலிருந்து எழுகின்றன. ஒரு உறுப்பின் அளவு, நிலை அல்லது உள்ளடக்கம் மாறும்போது, உலாவி மற்ற உறுப்புகளின் லேஅவுட்டை மீண்டும் கணக்கிட வேண்டியிருக்கலாம் (ஒரு ரீஃப்ளோ) அல்லது சில பகுதிகளை மீண்டும் பெயிண்ட் செய்ய வேண்டியிருக்கலாம் (ஒரு ரீபெயிண்ட்). பல ஆற்றல்மிக்க உறுப்புகள் அல்லது அடிக்கடி DOM மாற்றங்களைக் கொண்ட சிக்கலான UI-கள் இந்த விலையுயர்ந்த செயல்பாடுகளின் ஒரு அடுக்கைத் தூண்டக்கூடும், இது குறிப்பிடத்தக்க ஜாங்க், தடுமாறும் அனிமேஷன்கள் மற்றும் ஒரு மோசமான பயனர் அனுபவத்திற்கு வழிவகுக்கிறது. குறைந்த திறன் கொண்ட ஸ்மார்ட்போன் மற்றும் வரையறுக்கப்பட்ட அலைவரிசையுடன் ஒரு தொலைதூரப் பகுதியில் உள்ள ஒரு பயனர், அடிக்கடி விளம்பரங்களை மீண்டும் ஏற்றும் அல்லது உள்ளடக்கத்தைப் புதுப்பிக்கும் ஒரு செய்தி வலைத்தளத்துடன் தொடர்பு கொள்ள முயற்சிப்பதை கற்பனை செய்து பாருங்கள். சரியான மேம்படுத்தல் இல்லாமல், அவர்களின் அனுபவம் விரைவாக வெறுப்பாக மாறக்கூடும்.
செயல்திறன் மேம்படுத்தலின் உலகளாவிய முக்கியத்துவத்தை மிகைப்படுத்த முடியாது:
- சாதன பன்முகத்தன்மை: உயர்நிலை டெஸ்க்டாப்கள் முதல் பட்ஜெட் ஸ்மார்ட்போன்கள் வரை, உலகளவில் பயனர்களுக்குக் கிடைக்கும் கணினி சக்தியின் வரம்பு பரந்தது. மேம்படுத்தல் இந்த வரம்பு முழுவதும் ஏற்றுக்கொள்ளக்கூடிய செயல்திறனை உறுதி செய்கிறது.
- நெட்வொர்க் மாறுபாடு: பிராட்பேண்ட் அணுகல் உலகளாவியது அல்ல. பல பயனர்கள் மெதுவான, குறைந்த நிலையான இணைப்புகளை (எ.கா., வளர்ந்து வரும் சந்தைகளில் 2G/3G) நம்பியுள்ளனர். குறைக்கப்பட்ட லேஅவுட் மற்றும் பெயிண்ட் சுழற்சிகள் குறைந்த தரவு செயலாக்கம் மற்றும் விரைவான காட்சி புதுப்பிப்புகளைக் குறிக்கின்றன.
- பயனர் எதிர்பார்ப்புகள்: எதிர்பார்ப்புகள் சற்று மாறுபடலாம் என்றாலும், உலகளவில் ஏற்றுக்கொள்ளப்பட்ட ஒரு அளவுகோல் பதிலளிக்கக்கூடிய மற்றும் சீரான பயனர் இடைமுகம் ஆகும். தாமதம் நம்பிக்கையையும் ஈடுபாட்டையும் குறைக்கிறது.
- பொருளாதார தாக்கம்: வணிகங்களுக்கு, சிறந்த செயல்திறன் அதிக மாற்று விகிதங்கள், குறைந்த பவுன்ஸ் விகிதங்கள் மற்றும் அதிகரித்த பயனர் திருப்திக்கு வழிவகுக்கிறது, இது உலகளாவிய சந்தையில் வருவாயை நேரடியாக பாதிக்கிறது.
CSS கண்டெய்ன்மென்ட்டை அறிமுகப்படுத்துதல்: ஒரு உலாவியின் சூப்பர் பவர்
contain
பண்பினால் குறிப்பிடப்படும் CSS கண்டெய்ன்மென்ட், ஒரு குறிப்பிட்ட உறுப்பு மற்றும் அதன் உள்ளடக்கம் ஆவணத்தின் மற்ற பகுதிகளிலிருந்து சுயாதீனமானது என்று உலாவிக்குத் தெரிவிக்க டெவலப்பர்களுக்கு உதவும் ஒரு சக்திவாய்ந்த பொறிமுறையாகும். அவ்வாறு செய்வதன் மூலம், உலாவி வேறுவிதமாக செய்ய முடியாத செயல்திறன் மேம்படுத்தல்களைச் செய்ய முடியும். இது அடிப்படையில் ரெண்டரிங் இயந்திரத்திடம், "ஏய், பக்கத்தின் இந்தப் பகுதி தன்னிறைவானது. உள்ளே ஏதாவது மாறினால் முழு ஆவணத்தின் லேஅவுட் அல்லது பெயிண்ட்டை நீங்கள் மீண்டும் மதிப்பீடு செய்யத் தேவையில்லை" என்று சொல்கிறது.
ஒரு சிக்கலான கூறினைச் சுற்றி ஒரு எல்லையை வைப்பது போல இதை நினைத்துப் பாருங்கள். அந்த கூறுக்குள் ஏதாவது மாறும் ஒவ்வொரு முறையும் உலாவி முழுப் பக்கத்தையும் ஸ்கேன் செய்ய வேண்டியிருப்பதற்குப் பதிலாக, எந்த லேஅவுட் அல்லது பெயிண்ட் செயல்பாடுகளையும் அந்தக் கூறுக்கு மட்டுமே கட்டுப்படுத்த முடியும் என்பதை அது அறியும். இது விலையுயர்ந்த மறுகணக்கீடுகளின் நோக்கத்தை கணிசமாகக் குறைக்கிறது, இது வேகமான ரெண்டரிங் நேரங்கள் மற்றும் மென்மையான பயனர் இடைமுகத்திற்கு வழிவகுக்கிறது.
contain
பண்பு பல மதிப்புகளை ஏற்றுக்கொள்கிறது, ஒவ்வொன்றும் வெவ்வேறு அளவிலான கண்டெய்ன்மென்ட்டை வழங்குகிறது, இது டெவலப்பர்களுக்கு அவர்களின் குறிப்பிட்ட பயன்பாட்டு நிகழ்வுக்கு மிகவும் பொருத்தமான மேம்படுத்தலைத் தேர்வுசெய்ய அனுமதிக்கிறது.
.my-contained-element {
contain: layout;
}
.another-element {
contain: paint;
}
.yet-another {
contain: size;
}
.combined-containment {
contain: content;
/* லேஅவுட், பெயிண்ட், சைஸ் என்பதன் சுருக்கம் */
}
.maximum-containment {
contain: strict;
/* லேஅவுட், பெயிண்ட், சைஸ், ஸ்டைல் என்பதன் சுருக்கம் */
}
contain
மதிப்புகளை டிகோடிங் செய்தல்
contain
பண்பின் ஒவ்வொரு மதிப்பும் ஒரு வகையான கண்டெய்ன்மென்ட்டைக் குறிப்பிடுகிறது. அவற்றின் தனிப்பட்ட விளைவுகளைப் புரிந்துகொள்வது பயனுள்ள மேம்படுத்தலுக்கு முக்கியமானது.
contain: layout;
ஒரு உறுப்பு contain: layout;
கொண்டிருக்கும்போது, உறுப்பின் குழந்தைகளின் லேஅவுட் (அவற்றின் நிலைகள் மற்றும் அளவுகள்) உறுப்புக்கு வெளியே எதையும் பாதிக்காது என்பதை உலாவி அறியும். மாறாக, உறுப்புக்கு வெளியே உள்ளவற்றின் லேஅவுட் அதன் குழந்தைகளின் லேஅவுட்டை பாதிக்காது.
- நன்மைகள்: இது முதன்மையாக ரீஃப்ளோக்களின் நோக்கத்தைக் கட்டுப்படுத்த பயனுள்ளதாக இருக்கும். கட்டுப்படுத்தப்பட்ட உறுப்புக்குள் ஏதாவது மாறினால், உலாவி அந்த உறுப்புக்குள் மட்டுமே லேஅவுட்டை மீண்டும் கணக்கிட வேண்டும், முழு பக்கத்தையும் அல்ல.
- பயன்பாட்டு வழக்குகள்: உடன்பிறப்புகள் அல்லது மூதாதையர்களைப் பாதிக்காமல் தங்கள் உள் கட்டமைப்பை அடிக்கடி புதுப்பிக்கக்கூடிய சுயாதீனமான UI கூறுகளுக்கு ஏற்றது. ஜாவாஸ்கிரிப்ட் மூலம் புதுப்பிக்கப்படும் டைனமிக் உள்ளடக்கத் தொகுதிகள், அரட்டை விட்ஜெட்டுகள் அல்லது டாஷ்போர்டில் உள்ள குறிப்பிட்ட பிரிவுகளை நினைத்துப் பாருங்கள். இது விர்ச்சுவலைஸ்டு பட்டியல்களுக்கு குறிப்பாக நன்மை பயக்கும், அங்கு உறுப்புகளின் ஒரு துணைக்குழு மட்டுமே எந்த நேரத்திலும் ரெண்டர் செய்யப்படுகிறது, மேலும் அவற்றின் லேஅவுட் மாற்றங்கள் முழு ஆவண ரீஃப்ளோவைத் தூண்டக்கூடாது.
உதாரணம்: ஒரு டைனமிக் நியூஸ் ஃபீட் உருப்படி
<style>
.news-feed-item {
border: 1px solid #ddd;
padding: 15px;
margin-bottom: 10px;
contain: layout;
/* இந்த உருப்படிக்குள் ஏற்படும் மாற்றங்கள் உலகளாவிய ரீஃப்ளோக்களைத் தூண்டாது என்பதை உறுதிசெய்கிறது */
}
.news-feed-item h3 { margin-top: 0; }
.news-feed-item .actions { text-align: right; }
</style>
<div class="news-feed-container">
<div class="news-feed-item">
<h3>தலைப்பு 1</h3>
<p>செய்தி உருப்படியின் சுருக்கமான விளக்கம். இது விரிவடையலாம் அல்லது சுருங்கலாம்.</p>
<div class="actions">
<button>மேலும் படிக்க</button>
</div>
</div>
<div class="news-feed-item">
<h3>தலைப்பு 2</h3>
<p>மற்றொரு செய்தி. இது அடிக்கடி புதுப்பிக்கப்படுவதை கற்பனை செய்து பாருங்கள்.</p>
<div class="actions">
<button>மேலும் படிக்க</button>
</div>
</div>
</div>
contain: paint;
இந்த மதிப்பு, உறுப்பின் வழித்தோன்றல்கள் உறுப்பின் எல்லைகளுக்கு வெளியே காட்டப்படாது என்று அறிவிக்கிறது. ஒரு வழித்தோன்றலிலிருந்து ஏதேனும் உள்ளடக்கம் உறுப்பின் பெட்டியைத் தாண்டி நீட்டிக்கப்பட்டால், அது கிளிப் செய்யப்படும் (overflow: hidden;
பயன்படுத்தப்பட்டது போல).
- நன்மைகள்: கட்டுப்படுத்தப்பட்ட உறுப்புக்கு வெளியே ரீபெயிண்ட்களைத் தடுக்கிறது. உள்ளே உள்ளடக்கம் மாறினால், உலாவி அந்த உறுப்புக்குள் உள்ள பகுதியை மட்டுமே மீண்டும் பெயிண்ட் செய்ய வேண்டும், இது ரீபெயிண்ட் செலவை கணிசமாகக் குறைக்கிறது. இது மறைமுகமாக உள்ளே
position: fixed
அல்லதுposition: absolute
கொண்ட உறுப்புகளுக்கு ஒரு புதிய கண்டெய்னிங் பிளாக்-ஐ உருவாக்குகிறது. - பயன்பாட்டு வழக்குகள்: ஸ்க்ரோல் செய்யக்கூடிய பகுதிகள், ஆஃப்-ஸ்கிரீன் உறுப்புகள் (மறைக்கப்பட்ட மோடல்கள் அல்லது சைட்பார்கள் போன்றவை), அல்லது உறுப்புகள் பார்வைக்குள் மற்றும் வெளியே சரியும் கரோசல்களுக்கு ஏற்றது. பெயிண்ட்டைக் கட்டுப்படுத்துவதன் மூலம், உள்ளிருந்து பிக்சல்கள் தப்பித்து ஆவணத்தின் மற்ற பகுதிகளைப் பாதிப்பதைப் பற்றி உலாவி கவலைப்படத் தேவையில்லை. இது தேவையற்ற ஸ்க்ரோல்பார் சிக்கல்கள் அல்லது ரெண்டரிங் கலைப்பொருட்களைத் தடுக்க குறிப்பாக பயனுள்ளதாக இருக்கும்.
உதாரணம்: ஒரு ஸ்க்ரோல் செய்யக்கூடிய கருத்துப் பகுதி
<style>
.comment-section {
border: 1px solid #ccc;
height: 200px;
overflow-y: scroll;
contain: paint;
/* கருத்துகள் புதுப்பிக்கப்பட்டாலும், இந்த பெட்டிக்குள் உள்ள உள்ளடக்கத்தை மட்டுமே மீண்டும் பெயிண்ட் செய்யவும் */
}
.comment-item { padding: 5px; border-bottom: 1px dotted #eee; }
</style>
<div class="comment-section">
<div class="comment-item">கருத்து 1: லோரம் இப்சம் டாலர் சிட் அமெட்.</div>
<div class="comment-item">கருத்து 2: கான்செக்டெட்டர் அடிபிசிங் எலிட்.</div>
<!-- ... இன்னும் பல கருத்துகள் ... -->
<div class="comment-item">கருத்து N: செட் டோ ஐயுஸ்மோட் டெம்போர் இன்சிடிடண்ட் உட் லேபோர்.</div>
</div>
contain: size;
contain: size;
பயன்படுத்தப்படும்போது, உலாவி அந்த உறுப்பை ஒரு நிலையான, மாற்ற முடியாத அளவைக் கொண்டிருப்பதாகக் கருதுகிறது, அதன் உண்மையான உள்ளடக்கம் வேறுவிதமாக பரிந்துரைத்தாலும் கூட. கட்டுப்படுத்தப்பட்ட உறுப்பின் பரிமாணங்கள் அதன் உள்ளடக்கம் அல்லது அதன் குழந்தைகளால் பாதிக்கப்படாது என்று உலாவி கருதுகிறது. இது கட்டுப்படுத்தப்பட்ட உறுப்பைச் சுற்றியுள்ள உறுப்புகளை அதன் உள்ளடக்கத்தின் அளவை அறியத் தேவையில்லாமல் லேஅவுட் செய்ய உலாவியை அனுமதிக்கிறது. இதற்கு உறுப்புக்கு வெளிப்படையான பரிமாணங்கள் (width
, height
) இருக்க வேண்டும் அல்லது அதன் பெற்றோர் மீது flexbox/grid பண்புகளைப் பயன்படுத்தி அளவு நிர்ணயிக்கப்பட வேண்டும்.
- நன்மைகள்: தேவையற்ற லேஅவுட் மறுகணக்கீடுகளைத் தவிர்ப்பதற்கு முக்கியமானது. ஒரு உறுப்பின் அளவு நிலையானது என்று உலாவிக்குத் தெரிந்தால், உள்ளே பார்க்க வேண்டிய அவசியமின்றி சுற்றியுள்ள உறுப்புகளின் லேஅவுட்டை மேம்படுத்த முடியும். இது எதிர்பாராத லேஅவுட் மாற்றங்களைத் தடுப்பதில் மிகவும் பயனுள்ளதாக இருக்கும் (ஒரு முக்கிய கோர் வெப் வைட்டல் மெட்ரிக்: கமுலேட்டிவ் லேஅவுட் ஷிப்ட், CLS).
- பயன்பாட்டு வழக்குகள்: ஒவ்வொரு உருப்படியின் அளவும் அறியப்பட்ட அல்லது மதிப்பிடப்பட்ட விர்ச்சுவலைஸ்டு பட்டியல்களுக்கு ஏற்றது, இது முழு பட்டியலின் உயரத்தைக் கணக்கிடத் தேவையில்லாமல் தெரியும் உருப்படிகளை மட்டும் ரெண்டர் செய்ய உலாவியை அனுமதிக்கிறது. ஏற்றப்பட்ட உள்ளடக்கத்தைப் பொருட்படுத்தாமல் அவற்றின் பரிமாணங்கள் நிலையானதாக இருக்கும் பட பிளேஸ்ஹோல்டர்கள் அல்லது விளம்பர இடங்களுக்கும் இது பயனுள்ளதாக இருக்கும்.
உதாரணம்: பிளேஸ்ஹோல்டர் உள்ளடக்கத்துடன் ஒரு விர்ச்சுவலைஸ்டு பட்டியல் உருப்படி
<style>
.virtual-list-item {
height: 50px; /* 'சைஸ்' கண்டெய்ன்மென்ட்டிற்கு வெளிப்படையான உயரம் முக்கியம் */
border-bottom: 1px solid #eee;
padding: 10px;
contain: size;
/* உலாவி உள்ளே பார்க்காமலேயே இந்த உருப்படியின் உயரத்தை அறியும் */
}
</style>
<div class="virtual-list-container">
<div class="virtual-list-item">உருப்படி 1 உள்ளடக்கம்</div>
<div class="virtual-list-item">உருப்படி 2 உள்ளடக்கம்</div>
<!-- ... இன்னும் பல உருப்படிகள் டைனமிக்காக ஏற்றப்படுகின்றன ... -->
</div>
contain: style;
இது ஒருவேளை மிகவும் முக்கியத்துவம் வாய்ந்த கண்டெய்ன்மென்ட் வகையாகும். இது உறுப்பின் வழித்தோன்றல்களுக்குப் பயன்படுத்தப்படும் ஸ்டைல்கள் உறுப்புக்கு வெளியே எதையும் பாதிக்காது என்பதைக் குறிக்கிறது. இது முதன்மையாக ஒரு உறுப்பின் துணை மரத்திற்கு அப்பால் விளைவுகளை ஏற்படுத்தக்கூடிய பண்புகளுக்குப் பொருந்தும், அதாவது CSS கவுண்டர்கள் (counter-increment
, counter-reset
).
- நன்மைகள்: ஸ்டைல் மறுகணக்கீடுகள் DOM மரத்தில் மேல்நோக்கிப் பரவுவதைத் தடுக்கிறது, இருப்பினும் பொதுவான செயல்திறனில் அதன் நடைமுறை தாக்கம் `layout` அல்லது `paint` ஐ விடக் குறைவு.
- பயன்பாட்டு வழக்குகள்: முதன்மையாக CSS கவுண்டர்கள் அல்லது உலகளாவிய விளைவுகளை ஏற்படுத்தக்கூடிய பிற மறைபொருளான பண்புகளை உள்ளடக்கிய சூழ்நிலைகளுக்கு. வழக்கமான வலை செயல்திறன் மேம்படுத்தலுக்கு குறைவாகவே பயன்படுத்தப்படுகிறது, ஆனால் குறிப்பிட்ட, சிக்கலான ஸ்டைலிங் சூழல்களில் மதிப்புமிக்கது.
உதாரணம்: சுயாதீன கவுண்டர் பகுதி
<style>
.independent-section {
border: 1px solid blue;
padding: 10px;
contain: style;
/* இங்குள்ள கவுண்டர்கள் உலகளாவிய கவுண்டர்களை பாதிக்காது என்பதை உறுதிசெய்யவும் */
counter-reset: local-item-counter;
}
.independent-section p::before {
counter-increment: local-item-counter;
content: "உருப்படி " counter(local-item-counter) ": ";
}
</style>
<div class="independent-section">
<p>முதல் புள்ளி.</p>
<p>இரண்டாவது புள்ளி.</p>
</div>
<div class="global-section">
<p>இது மேலே உள்ள கவுண்டரால் பாதிக்கப்படக்கூடாது.</p>
</div>
contain: content;
இது contain: layout paint size;
என்பதன் ஒரு சுருக்கமாகும். இது `style` தனிமைப்படுத்தல் இல்லாமல் வலுவான அளவிலான கண்டெய்ன்மென்ட்டை நீங்கள் விரும்பும்போது பொதுவாகப் பயன்படுத்தப்படும் ஒரு மதிப்பாகும். இது பெரும்பாலும் சுயாதீனமான கூறுகளுக்கு ஒரு நல்ல பொது-நோக்க கண்டெய்ன்மென்ட் ஆகும்.
- நன்மைகள்: லேஅவுட், பெயிண்ட், மற்றும் சைஸ் கண்டெய்ன்மென்ட்டின் சக்தியை இணைக்கிறது, சுயாதீனமான கூறுகளுக்கு கணிசமான செயல்திறன் ஆதாயங்களை வழங்குகிறது.
- பயன்பாட்டு வழக்குகள்: அகார்டியன்கள், டேப்கள், ஒரு கிரிட்டில் உள்ள கார்டுகள், அல்லது அடிக்கடி புதுப்பிக்கப்படக்கூடிய ஒரு பட்டியலில் உள்ள தனிப்பட்ட உருப்படிகள் போன்ற கிட்டத்தட்ட எந்தவொரு தனித்துவமான, தன்னிறைவான UI விட்ஜெட் அல்லது கூறுக்கும் பரவலாகப் பொருந்தும்.
உதாரணம்: ஒரு மறுபயன்பாட்டு தயாரிப்பு அட்டை
<style>
.product-card {
border: 1px solid #eee;
padding: 15px;
margin: 10px;
width: 250px; /* 'சைஸ்' கண்டெய்ன்மென்ட்டிற்கு வெளிப்படையான அகலம் */
display: inline-block;
vertical-align: top;
contain: content;
/* லேஅவுட், பெயிண்ட் மற்றும் சைஸ் தனிமைப்படுத்தல் */
}
.product-card img { max-width: 100%; height: auto; }
.product-card h3 { font-size: 1.2em; }
.product-card .price { font-weight: bold; color: green; }
</style>
<div class="product-card">
<img src="product-image-1.jpg" alt="தயாரிப்பு 1">
<h3>அமேசிங் கேட்ஜெட் புரோ</h3>
<p class="price">$199.99</p>
<button>வண்டியில் சேர்</button>
</div>
<div class="product-card">
<img src="product-image-2.jpg" alt="தயாரிப்பு 2">
<h3>சூப்பர் விட்ஜெட் எலைட்</h3&n>
<p class="price">$49.95</p>
<button>வண்டியில் சேர்</button>
</div>
contain: strict;
இது மிகவும் விரிவான கண்டெய்ன்மென்ட் ஆகும், இது contain: layout paint size style;
என்பதன் ஒரு சுருக்கமாக செயல்படுகிறது. இது சாத்தியமான வலுவான தனிமைப்படுத்தலை உருவாக்குகிறது, கட்டுப்படுத்தப்பட்ட உறுப்பை ஒரு முற்றிலும் சுயாதீனமான ரெண்டரிங் சூழலாக திறம்பட ஆக்குகிறது.
- நன்மைகள்: நான்கு வகையான ரெண்டரிங் கணக்கீடுகளையும் தனிமைப்படுத்துவதன் மூலம் அதிகபட்ச செயல்திறன் நன்மைகளை வழங்குகிறது.
- பயன்பாட்டு வழக்குகள்: உண்மையாகவே தன்னிறைவான மற்றும் அதன் உள் மாற்றங்கள் முழுவதுமாக பக்கத்தின் மற்ற பகுதிகளை பாதிக்கக்கூடாது என்று கருதப்படும் மிகவும் சிக்கலான, ஆற்றல்மிக்க கூறுகளுக்கு இது மிகவும் பொருத்தமானது. கனமான ஜாவாஸ்கிரிப்ட்-இயக்கப்படும் விட்ஜெட்டுகள், ஊடாடும் வரைபடங்கள், அல்லது முக்கிய பக்க ஓட்டத்திலிருந்து பார்வைக்கு வேறுபட்ட மற்றும் செயல்பாட்டு ரீதியாக தனிமைப்படுத்தப்பட்ட உட்பொதிக்கப்பட்ட கூறுகளுக்கு இதைக் கருத்தில் கொள்ளுங்கள். எச்சரிக்கையுடன் பயன்படுத்தவும், ஏனெனில் இது மிகவும் வலுவான தாக்கங்களைக் கொண்டுள்ளது, குறிப்பாக மறைமுகமான அளவு தேவைகள் தொடர்பாக.
உதாரணம்: ஒரு சிக்கலான ஊடாடும் வரைபட விட்ஜெட்
<style>
.map-widget {
width: 600px;
height: 400px;
border: 1px solid blue;
overflow: hidden;
contain: strict;
/* ஒரு சிக்கலான, ஊடாடும் கூறுக்கான முழுமையான கண்டெய்ன்மென்ட் */
}
</style>
<div class="map-widget">
<!-- சிக்கலான வரைபட ரெண்டரிங் லாஜிக் (எ.கா., Leaflet.js, Google Maps API) -->
<div class="map-canvas"></div>
<div class="map-controls"><button>பெரிதாக்கு</button></div>
</div>
contain: none;
இது இயல்புநிலை மதிப்பாகும், இது எந்த கண்டெய்ன்மென்ட்டையும் குறிக்காது. உறுப்பு சாதாரணமாக செயல்படுகிறது, மேலும் அதற்குள் ஏற்படும் மாற்றங்கள் முழு ஆவணத்தின் ரெண்டரிங்கையும் பாதிக்கலாம்.
நடைமுறை பயன்பாடுகள் மற்றும் உலகளாவிய பயன்பாட்டு வழக்குகள்
கோட்பாட்டைப் புரிந்துகொள்வது ஒரு விஷயம்; அதை நிஜ உலக, உலகளவில் அணுகக்கூடிய வலைப் பயன்பாடுகளில் திறம்படப் பயன்படுத்துவது மற்றொரு விஷயம். CSS கண்டெய்ன்மென்ட் குறிப்பிடத்தக்க செயல்திறன் நன்மைகளை அளிக்கக்கூடிய சில முக்கிய காட்சிகள் இங்கே:
விர்ச்சுவலைஸ்டு பட்டியல்கள்/முடிவற்ற ஸ்க்ரோல்
சமூக ஊடக ஊட்டங்கள் முதல் இ-காமர்ஸ் தயாரிப்பு பட்டியல்கள் வரை பல நவீன வலைப் பயன்பாடுகள், বিপুল পরিমাণ தரவைக் காண்பிக்க விர்ச்சுவலைஸ்டு பட்டியல்கள் அல்லது முடிவற்ற ஸ்க்ரோலிங்கைப் பயன்படுத்துகின்றன. ஆயிரக்கணக்கான உருப்படிகளையும் DOM-இல் ரெண்டர் செய்வதற்குப் பதிலாக (இது ஒரு பெரிய செயல்திறன் தடையாக இருக்கும்), தெரியும் உருப்படிகள் மற்றும் வியூபோர்ட்டுக்கு மேலும் கீழும் உள்ள சில இடையக உருப்படிகள் மட்டுமே ரெண்டர் செய்யப்படுகின்றன. பயனர் ஸ்க்ரோல் செய்யும்போது, புதிய உருப்படிகள் மாற்றப்படுகின்றன, பழைய உருப்படிகள் அகற்றப்படுகின்றன.
- சிக்கல்: விர்ச்சுவலைசேஷன் இருந்தாலும், தனிப்பட்ட பட்டியல் உருப்படிகளில் ஏற்படும் மாற்றங்கள் (எ.கா., ஒரு படம் ஏற்றப்படுவது, உரை விரிவடைவது, அல்லது ஒரு பயனர் தொடர்பு ஒரு 'லைக்' எண்ணிக்கையைப் புதுப்பிப்பது) முழு பட்டியல் கண்டெய்னர் அல்லது பரந்த ஆவணத்தின் தேவையற்ற ரீஃப்ளோக்கள் அல்லது ரீபெயிண்ட்களைத் தூண்டக்கூடும்.
- கண்டெய்ன்மென்ட்டுடன் தீர்வு: ஒவ்வொரு தனிப்பட்ட பட்டியல் உருப்படிக்கும்
contain: layout size;
(அல்லது பெயிண்ட் தனிமைப்படுத்தலும் விரும்பப்பட்டால்contain: content;
) ஐப் பயன்படுத்துதல். இது ஒவ்வொரு உருப்படியின் பரிமாணங்களும் உள் லேஅவுட் மாற்றங்களும் அதன் உடன்பிறப்புகள் அல்லது பெற்றோர் கண்டெய்னரின் அளவைப் பாதிக்காது என்று உலாவிக்குச் சொல்கிறது. கண்டெய்னருக்கே, ஸ்க்ரோல் நிலையைப் பொறுத்து அதன் அளவு மாறினால்contain: layout;
பொருத்தமானதாக இருக்கலாம். - உலகளாவிய தொடர்பு: இது உலகளாவிய பயனர் தளத்தை நோக்கமாகக் கொண்ட உள்ளடக்கம் நிறைந்த தளங்களுக்கு முற்றிலும் முக்கியமானது. பழைய சாதனங்கள் அல்லது வரையறுக்கப்பட்ட நெட்வொர்க் அணுகல் உள்ள பகுதிகளில் உள்ள பயனர்கள் மிகவும் மென்மையான ஸ்க்ரோலிங் மற்றும் குறைவான ஜாங்க் தருணங்களை அனுபவிப்பார்கள், ஏனெனில் உலாவியின் ரெண்டரிங் வேலை வியத்தகுভাবে குறைக்கப்படுகிறது. ஸ்மார்ட்போன்கள் பொதுவாக குறைந்த-திறன் கொண்ட ஒரு சந்தையில் ஒரு பெரிய தயாரிப்பு பட்டியலை உலாவுவதை கற்பனை செய்து பாருங்கள்; விர்ச்சுவலைசேஷன் கண்டெய்ன்மென்ட்டுடன் இணைந்து ஒரு பயன்படுத்தக்கூடிய அனுபவத்தை உறுதி செய்கிறது.
<style>
.virtualized-list-item {
height: 100px; /* 'சைஸ்' கண்டெய்ன்மென்ட்டிற்கு நிலையான உயரம் முக்கியம் */
border-bottom: 1px solid #f0f0f0;
padding: 10px;
contain: layout size; /* லேஅவுட் மற்றும் சைஸ் கணக்கீடுகளை மேம்படுத்தவும் */
overflow: hidden;
}
</style>
<div class="virtualized-list-container">
<!-- உருப்படிகள் ஸ்க்ரோல் நிலையின் அடிப்படையில் டைனமிக்காக ஏற்றப்படுகின்றன/வெளியேற்றப்படுகின்றன -->
<div class="virtualized-list-item">தயாரிப்பு A: விளக்கம் மற்றும் விலை</div>
<div class="virtualized-list-item">தயாரிப்பு B: விவரங்கள் மற்றும் விமர்சனங்கள்</div>
<!-- ... நூற்றுக்கணக்கான அல்லது ஆயிரக்கணக்கான உருப்படிகள் ... -->
</div>
ஆஃப்-ஸ்கிரீன்/மறைக்கப்பட்ட கூறுகள் (மோடல்கள், சைட்பார்கள், டூல்டிப்கள்)
பல வலைப் பயன்பாடுகள் எப்போதும் தெரியாத ஆனால் DOM-இன் பகுதியாக இருக்கும் உறுப்புகளைக் கொண்டுள்ளன, அதாவது நேவிகேஷன் டிராயர்கள், மோடல் உரையாடல்கள், டூல்டிப்கள், அல்லது டைனமிக் விளம்பரங்கள். மறைக்கப்பட்டிருந்தாலும் (எ.கா., display: none;
அல்லது visibility: hidden;
உடன்), அவை சில நேரங்களில் உலாவியின் ரெண்டரிங் இயந்திரத்தை பாதிக்கலாம், குறிப்பாக DOM கட்டமைப்பில் அவற்றின் இருப்பு பார்வைக்கு வரும்போது லேஅவுட் அல்லது பெயிண்ட் கணக்கீடுகளை அவசியமாக்கினால்.
- சிக்கல்:
display: none;
ஒரு உறுப்பை ரெண்டர் மரத்திலிருந்து அகற்றும் அதே வேளையில்,visibility: hidden;
அல்லது ஆஃப்-ஸ்கிரீன் பொசிஷனிங் (எ.கா.,left: -9999px;
) போன்ற பண்புகள் உறுப்புகளை ரெண்டர் மரத்தில் வைத்திருக்கின்றன, இது அவற்றின் தெரிவுநிலை அல்லது நிலை மாறும்போது லேஅவுட்டைப் பாதிக்கலாம் அல்லது ரீபெயிண்ட் கணக்கீடுகள் தேவைப்படலாம். - கண்டெய்ன்மென்ட்டுடன் தீர்வு: இந்த ஆஃப்-ஸ்கிரீன் உறுப்புகளுக்கு
contain: layout paint;
அல்லதுcontain: content;
ஐப் பயன்படுத்துங்கள். இது அவை ஆஃப்-ஸ்கிரீனில் நிலைநிறுத்தப்பட்டிருந்தாலும் அல்லது கண்ணுக்குத் தெரியாததாக ரெண்டர் செய்யப்பட்டிருந்தாலும், அவற்றின் உள் மாற்றங்கள் முழு ஆவணத்தின் லேஅவுட் அல்லது பெயிண்ட்டை உலாவி மீண்டும் மதிப்பீடு செய்ய காரணமாகாது என்பதை உறுதி செய்கிறது. அவை தெரியும் போது, உலாவி அதிக செலவு இல்லாமல் அவற்றை காட்சியில் திறமையாக ஒருங்கிணைக்க முடியும். - உலகளாவிய தொடர்பு: சாதனம் எதுவாக இருந்தாலும், மோடல்கள் மற்றும் சைட்பார்களுக்கான மென்மையான மாற்றங்கள் உணரப்பட்ட பதிலளிக்கக்கூடிய அனுபவத்திற்கு இன்றியமையாதவை. ஜாவாஸ்கிரிப்ட் செயல்படுத்தல் மெதுவாக இருக்கலாம் அல்லது CPU போட்டி காரணமாக அனிமேஷன் பிரேம்கள் கைவிடப்படலாம் என்ற சூழல்களில், கண்டெய்ன்மென்ட் சீரான தன்மையைப் பராமரிக்க உதவுகிறது.
<style>
.modal-dialog {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80%;
max-width: 500px;
background: white;
border: 1px solid #ccc;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
padding: 20px;
z-index: 1000;
display: none; /* அல்லது ஆரம்பத்தில் ஆஃப்-ஸ்கிரீன் */
contain: layout paint; /* தெரியும் போது, உள்ளே ஏற்படும் மாற்றங்கள் கட்டுப்படுத்தப்படுகின்றன */
}
.modal-dialog.is-open { display: block; }
</style>
<div class="modal-dialog">
<h3>வரவேற்பு செய்தி</h3>
<p>இது ஒரு மோடல் உரையாடல். இதன் உள்ளடக்கம் டைனமிக்காக இருக்கலாம்.</p>
<button>மூடு</button>
</div>
சிக்கலான விட்ஜெட்டுகள் மற்றும் மறுபயன்பாட்டு UI கூறுகள்
நவீன வலை உருவாக்கம் கூறு-அடிப்படையிலான கட்டமைப்புகளை பெரிதும் நம்பியுள்ளது. ஒரு வலைப்பக்கம் பெரும்பாலும் பல சுயாதீனமான கூறுகளால் ஆனது - அகார்டியன்கள், டேப்டு இடைமுகங்கள், வீடியோ பிளேயர்கள், ஊடாடும் வரைபடங்கள், கருத்துப் பிரிவுகள், அல்லது விளம்பர அலகுகள். இந்த கூறுகள் பெரும்பாலும் தங்கள் சொந்த உள் நிலையைக் கொண்டுள்ளன மற்றும் பக்கத்தின் மற்ற பகுதிகளிலிருந்து சுயாதீனமாக புதுப்பிக்கப்படலாம்.
- சிக்கல்: ஒரு ஊடாடும் வரைபடம் அதன் தரவைப் புதுப்பித்தால், அல்லது ஒரு அகார்டியன் விரிவடைந்தால்/சுருங்கினால், இந்த மாற்றங்கள் கூறின் எல்லைகளுக்குள் கட்டுப்படுத்தப்பட்டிருந்தாலும், உலாவி முழு ஆவணம் முழுவதும் தேவையற்ற லேஅவுட் அல்லது பெயிண்ட் கணக்கீடுகளைச் செய்யக்கூடும்.
- கண்டெய்ன்மென்ட்டுடன் தீர்வு: அத்தகைய கூறுகளின் மூல உறுப்புக்கு
contain: content;
அல்லதுcontain: strict;
ஐப் பயன்படுத்துதல். இது கூறுக்குள் ஏற்படும் உள் மாற்றங்கள் அதன் எல்லைகளுக்கு வெளியே உள்ள உறுப்புகளைப் பாதிக்காது என்று உலாவிக்கு தெளிவாக சமிக்ஞை செய்கிறது, இது அதன் மறுகணக்கீடுகளின் நோக்கத்தைக் கட்டுப்படுத்துவதன் மூலம் ரெண்டரிங்கை மேம்படுத்த உலாவியை அனுமதிக்கிறது. - உலகளாவிய தொடர்பு: இது உலகளாவிய குழுக்களால் பயன்படுத்தப்படும் பெரிய வலைப் பயன்பாடுகள் அல்லது வடிவமைப்பு அமைப்புகளுக்கு குறிப்பாக பயனுள்ளதாக இருக்கும். பல்வேறு உலாவிகள் மற்றும் சாதனங்கள் முழுவதும் சீரான செயல்திறன், கூறு ஐரோப்பாவில் உள்ள ஒரு உயர்-நிலை கேமிங் கணினியில் அல்லது தென்கிழக்கு ஆசியாவில் உள்ள ஒரு டேப்லெட்டில் ரெண்டர் செய்யப்பட்டாலும், பயனர் அனுபவம் உயர்வாக இருப்பதை உறுதி செய்கிறது. இது கிளையன்ட் பக்கத்தில் கணக்கீட்டு மேல்நிலையைக் குறைக்கிறது, இது எல்லா இடங்களிலும் விறுவிறுப்பான தொடர்புகளை வழங்குவதற்கு முக்கியமானது.
<style>
.interactive-chart-widget {
width: 100%;
height: 300px;
border: 1px solid #ddd;
contain: content; /* லேஅவுட், பெயிண்ட், சைஸ் கட்டுப்படுத்தப்பட்டது */
overflow: hidden;
}
</style>
<div class="interactive-chart-widget">
<!-- ஜாவாஸ்கிரிப்ட் இங்கே ஒரு சிக்கலான வரைபடத்தை ரெண்டர் செய்யும், எ.கா., D3.js அல்லது Chart.js பயன்படுத்தி -->
<canvas id="myChart"></canvas>
<div class="chart-controls">
<button>தரவைக் காண்க</button>
<button>பெரிதாக்கு</button>
</div>
</div>
Iframes மற்றும் உட்பொதிக்கப்பட்ட உள்ளடக்கம் (எச்சரிக்கையுடன்)
Iframes ஏற்கனவே ஒரு தனி உலாவல் சூழலை உருவாக்கும்போது, அவற்றின் உள்ளடக்கத்தை பெற்றோர் ஆவணத்திலிருந்து ஒரு பெரிய அளவிற்கு தனிமைப்படுத்துகின்றன, CSS கண்டெய்ன்மென்ட் சில நேரங்களில் iframe *உள்ளே* உள்ள உறுப்புகளுக்கு அல்லது ஒரு iframe-இன் பரிமாணங்கள் அறியப்பட்டாலும் அதன் உள்ளடக்கம் டைனமிக்காக இருக்கும் குறிப்பிட்ட நிகழ்வுகளுக்கு கருதப்படலாம்.
- சிக்கல்: ஒரு iframe-இன் உள்ளடக்கம் அதன் பரிமாணங்கள் வெளிப்படையாக அமைக்கப்படாவிட்டால் அல்லது உள்ளடக்கம் iframe-இன் அறிவிக்கப்பட்ட அளவை டைனமிக்காக மாற்றினால், பெற்றோர் பக்கத்தில் லேஅவுட் மாற்றங்களைத் தூண்டலாம்.
- கண்டெய்ன்மென்ட்டுடன் தீர்வு: iframe-இன் பரிமாணங்கள் நிலையானதாக இருந்து, iframe உள்ளடக்கத்தின் அளவு மாற்றம் காரணமாக சுற்றியுள்ள உறுப்புகள் மாறாமல் இருப்பதை உறுதிசெய்ய விரும்பினால், iframe-க்கே
contain: size;
ஐப் பயன்படுத்துதல். iframe *உள்ளே* உள்ள உள்ளடக்கத்திற்கு, அதன் உள் கூறுகளுக்கு கண்டெய்ன்மென்ட் பயன்படுத்துவது அந்த உள் ரெண்டரிங் சூழலை மேம்படுத்தலாம். - எச்சரிக்கை: Iframes ஏற்கனவே வலுவான தனிமைப்படுத்தலைக் கொண்டுள்ளன.
contain
-ஐ அதிகமாகப் பயன்படுத்துவது குறிப்பிடத்தக்க நன்மைகளை அளிக்காது மற்றும் அரிதான சந்தர்ப்பங்களில், சில உட்பொதிக்கப்பட்ட உள்ளடக்கம் செயல்பட எதிர்பார்க்கும் விதத்தில் தலையிடக்கூடும். முழுமையாக சோதிக்கவும்.
முற்போக்கான வலைப் பயன்பாடுகள் (PWAs)
PWAs இணையத்தில் ஒரு நேட்டிவ்-ஆப் போன்ற அனுபவத்தை வழங்க நோக்கமாகக் கொண்டுள்ளன, வேகம், நம்பகத்தன்மை மற்றும் ஈடுபாட்டை வலியுறுத்துகின்றன. CSS கண்டெய்ன்மென்ட் இந்த இலக்குகளுக்கு நேரடியாக பங்களிக்கிறது.
contain
எவ்வாறு பங்களிக்கிறது: ரெண்டரிங் செயல்திறனை மேம்படுத்துவதன் மூலம்,contain
PWAs வேகமான ஆரம்ப சுமைகளை அடைய உதவுகிறது (ரெண்டரிங் வேலையைக் குறைப்பதன் மூலம்), மென்மையான தொடர்புகள் (குறைந்த ஜாங்க் ஸ்பைக்குகள்), மற்றும் ஒரு நம்பகமான பயனர் அனுபவம் (குறைந்த CPU பயன்பாடு என்றால் குறைந்த பேட்டரி வடிகால் மற்றும் சிறந்த பதிலளிக்கக்கூடிய தன்மை). இது கோர் வெப் வைட்டல்ஸ் மெட்ரிக்குகளான லார்ஜஸ்ட் கண்டென்ட்ஃபுல் பெயிண்ட் (LCP) மற்றும் கமுலேட்டிவ் லேஅவுட் ஷிப்ட் (CLS) ஆகியவற்றை நேரடியாக பாதிக்கிறது.- உலகளாவிய தொடர்பு: PWAs நிலையற்ற நெட்வொர்க் நிலைமைகள் அல்லது குறைந்த-திறன் கொண்ட சாதனங்கள் உள்ள பகுதிகளில் குறிப்பாக தாக்கத்தை ஏற்படுத்துகின்றன, ஏனெனில் அவை தரவு பரிமாற்றத்தைக் குறைத்து கிளையன்ட் பக்க செயல்திறனை அதிகரிக்கின்றன. CSS கண்டெய்ன்மென்ட் என்பது ஒரு உலகளாவிய பயனர் தளத்திற்காக உயர்-செயல்திறன் கொண்ட PWAs-ஐ உருவாக்கும் டெவலப்பர்களின் ஆயுதக் களஞ்சியத்தில் ஒரு முக்கிய கருவியாகும்.
உலகளாவிய வரிசைப்படுத்தலுக்கான சிறந்த நடைமுறைகள் மற்றும் பரிசீலனைகள்
CSS கண்டெய்ன்மென்ட் சக்தி வாய்ந்ததாக இருந்தாலும், அது ஒரு வெள்ளித் தோட்டா அல்ல. மூலோபாய பயன்பாடு, கவனமாக அளவீடு, மற்றும் அதன் தாக்கங்களைப் புரிந்துகொள்வது அவசியம், குறிப்பாக ஒரு பன்முகப்பட்ட உலகளாவிய பார்வையாளர்களை இலக்காகக் கொள்ளும்போது.
மூலோபாய பயன்பாடு: எல்லா இடங்களிலும் பயன்படுத்த வேண்டாம்
CSS கண்டெய்ன்மென்ட் என்பது ஒரு செயல்திறன் மேம்படுத்தல், ஒரு பொதுவான ஸ்டைலிங் விதி அல்ல. ஒவ்வொரு உறுப்புக்கும் contain
ஐப் பயன்படுத்துவது முரண்பாடாக சிக்கல்களுக்கு வழிவகுக்கலாம் அல்லது நன்மைகளைக்கூட நீக்கலாம். உலாவி பெரும்பாலும் வெளிப்படையான குறிப்புகள் இல்லாமல் ரெண்டரிங்கை மேம்படுத்துவதில் ஒரு சிறந்த வேலையைச் செய்கிறது. செயல்திறன் தடைகள் என்று அறியப்பட்ட உறுப்புகளில் கவனம் செலுத்துங்கள்:
- அடிக்கடி மாறும் உள்ளடக்கத்துடன் கூடிய கூறுகள்.
- விர்ச்சுவலைஸ்டு பட்டியல்களில் உள்ள உறுப்புகள்.
- தெரியக்கூடியதாக மாறக்கூடிய ஆஃப்-ஸ்கிரீன் உறுப்புகள்.
- சிக்கலான, ஊடாடும் விட்ஜெட்டுகள்.
கண்டெய்ன்மென்ட்டைப் பயன்படுத்துவதற்கு முன்பு, சுயவிவரக் கருவிகளைப் பயன்படுத்தி ரெண்டரிங் செலவுகள் எங்கு அதிகமாக உள்ளன என்பதைக் கண்டறியவும்.
அளவீடு முக்கியம்: உங்கள் மேம்படுத்தல்களைச் சரிபார்க்கவும்
CSS கண்டெய்ன்மென்ட் உதவுகிறதா என்பதை உறுதிப்படுத்த ஒரே வழி அதன் தாக்கத்தை அளவிடுவதுதான். உலாவி டெவலப்பர் கருவிகள் மற்றும் சிறப்பு செயல்திறன் சோதனை சேவைகளை நம்பியிருங்கள்:
- உலாவி டெவலப்பர் கருவிகள் (Chrome, Firefox, Edge):
- செயல்திறன் தாவல்: உங்கள் பக்கத்துடன் தொடர்பு கொள்ளும்போது ஒரு செயல்திறன் சுயவிவரத்தைப் பதிவு செய்யவும். நீண்ட நேரம் இயங்கும் 'Layout' அல்லது 'Recalculate Style' நிகழ்வுகளைத் தேடுங்கள். கண்டெய்ன்மென்ட் அவற்றின் கால அளவை அல்லது நோக்கத்தைக் குறைக்க வேண்டும்.
- ரெண்டரிங் தாவல்: உங்கள் பக்கத்தின் எந்தப் பகுதிகள் மீண்டும் பெயிண்ட் செய்யப்படுகின்றன என்பதைப் பார்க்க 'Paint flashing'-ஐ இயக்கவும். আদর্শமாக, ஒரு கட்டுப்படுத்தப்பட்ட உறுப்புக்குள் ஏற்படும் மாற்றங்கள் அந்த உறுப்பின் எல்லைகளுக்குள் மட்டுமே ஒளிர வேண்டும். CLS தாக்கங்களைக் காட்சிப்படுத்த 'Layout Shift Regions'-ஐ இயக்கவும்.
- லேயர்கள் பேனல்: உலாவி எவ்வாறு லேயர்களை கம்போசிட் செய்கிறது என்பதைப் புரிந்து கொள்ளுங்கள். கண்டெய்ன்மென்ட் சில நேரங்களில் புதிய ரெண்டரிங் லேயர்களை உருவாக்க வழிவகுக்கலாம், இது சூழலைப் பொறுத்து நன்மை பயக்கும் அல்லது (அரிதாக) தீங்கு விளைவிக்கும்.
- லைட்ஹவுஸ்: செயல்திறன், அணுகல்தன்மை, SEO, மற்றும் சிறந்த நடைமுறைகளுக்காக வலைப்பக்கங்களை தணிக்கை செய்யும் ஒரு பிரபலமான தானியங்கு கருவி. இது கோர் வெப் வைட்டல்ஸ் தொடர்பான செயல் பரிந்துரைகள் மற்றும் மதிப்பெண்களை வழங்குகிறது. உலகளாவிய செயல்திறனைப் புரிந்துகொள்ள, குறிப்பாக உருவகப்படுத்தப்பட்ட மெதுவான நெட்வொர்க் நிலைமைகள் மற்றும் மொபைல் சாதனங்களின் கீழ், லைட்ஹவுஸ் சோதனைகளை அடிக்கடி இயக்கவும்.
- WebPageTest: பல்வேறு உலகளாவிய இடங்கள் மற்றும் சாதன வகைகளிலிருந்து மேம்பட்ட செயல்திறன் சோதனையை வழங்குகிறது. உங்கள் தளம் வெவ்வேறு கண்டங்கள் மற்றும் நெட்வொர்க் உள்கட்டமைப்புகளில் உள்ள பயனர்களுக்கு எவ்வாறு செயல்படுகிறது என்பதைப் புரிந்துகொள்வதற்கு இது விலைமதிப்பற்றது.
டெவலப்பர் கருவிகள் அல்லது WebPageTest-இல் உருவகப்படுத்தப்பட்ட நிலைமைகளின் கீழ் (எ.கா., வேகமான 3G, மெதுவான 3G, குறைந்த-திறன் மொபைல் சாதனம்) சோதனை செய்வது, உங்கள் மேம்படுத்தல்கள் நிஜ உலக உலகளாவிய பயனர் அனுபவங்களுக்கு எவ்வாறு மொழிபெயர்க்கப்படுகின்றன என்பதைப் புரிந்துகொள்வதற்கு முக்கியமானது. ஒரு சக்திவாய்ந்த டெஸ்க்டாப்பில் குறைந்தபட்ச நன்மையை அளிக்கும் ஒரு மாற்றம், வரையறுக்கப்பட்ட இணைப்புடன் கூடிய ஒரு பகுதியில் உள்ள குறைந்த-திறன் மொபைல் சாதனத்தில் மாற்றத்தை ஏற்படுத்தக்கூடும்.
தாக்கங்கள் மற்றும் சாத்தியமான சிக்கல்களைப் புரிந்துகொள்ளுதல்
contain: size;
வெளிப்படையான அளவு தேவை: நீங்கள்contain: size;
-ஐ உறுப்பின்width
மற்றும்height
-ஐ வெளிப்படையாக அமைக்காமல் (அல்லது அதன் flex/grid பெற்றோரால் அளவு நிர்ணயிக்கப்படுவதை உறுதி செய்யாமல்) பயன்படுத்தினால், உறுப்பு பூஜ்ஜிய அளவிற்கு சுருங்கக்கூடும். ஏனெனில் உலாவி அதன் பரிமாணங்களைத் தீர்மானிக்க அதன் உள்ளடக்கத்தைப் பார்க்காது.contain: size;
ஐப் பயன்படுத்தும்போது எப்போதும் திட்டவட்டமான பரிமாணங்களை வழங்கவும்.- உள்ளடக்க கிளிப்பிங் (
paint
மற்றும்content
/strict
உடன்):contain: paint;
(மற்றும் இதனால்content
மற்றும்strict
) குழந்தைகள் உறுப்பின் எல்லைகளுக்கு கிளிப் செய்யப்படும் என்பதை நினைவில் கொள்ளுங்கள், இதுoverflow: hidden;
போன்றது. உங்கள் வடிவமைப்பிற்கு இந்த நடத்தை விரும்பப்படுகிறதா என்பதை உறுதிப்படுத்தவும். ஒரு கட்டுப்படுத்தப்பட்ட உறுப்புக்குள்position: fixed
அல்லதுposition: absolute
கொண்ட உறுப்புகள் வித்தியாசமாக நடந்து கொள்ளலாம், ஏனெனில் கட்டுப்படுத்தப்பட்ட உறுப்பு அவற்றுக்கு ஒரு புதிய கண்டெய்னிங் பிளாக் ஆக செயல்படுகிறது. - அணுகல்தன்மை: கண்டெய்ன்மென்ட் முதன்மையாக ரெண்டரிங்கைப் பாதித்தாலும், அது விசைப்பலகை வழிசெலுத்தல் அல்லது ஸ்கிரீன் ரீடர் நடத்தை போன்ற அணுகல்தன்மை அம்சங்களில் தற்செயலாகத் தலையிடவில்லை என்பதை உறுதிப்படுத்தவும். எடுத்துக்காட்டாக, நீங்கள் ஒரு உறுப்பை மறைத்து கண்டெய்ன்மென்ட்டைப் பயன்படுத்தினால், அதன் அணுகல்தன்மை நிலையும் சரியாக நிர்வகிக்கப்படுவதை உறுதிப்படுத்தவும்.
- பதிலளிக்கக்கூடிய தன்மை: உங்கள் கட்டுப்படுத்தப்பட்ட உறுப்புகளை பல்வேறு திரை அளவுகள் மற்றும் சாதன நோக்குநிலைகளில் முழுமையாக சோதிக்கவும். கண்டெய்ன்மென்ட் பதிலளிக்கக்கூடிய லேஅவுட்களை உடைக்கவில்லை அல்லது எதிர்பாராத காட்சி சிக்கல்களை அறிமுகப்படுத்தவில்லை என்பதை உறுதிப்படுத்தவும்.
முற்போக்கான மேம்படுத்தல்
CSS கண்டெய்ன்மென்ட் முற்போக்கான மேம்படுத்தலுக்கு ஒரு சிறந்த வேட்பாளர். அதை ஆதரிக்காத உலாவிகள் வெறுமனே அந்த பண்பை புறக்கணிக்கும், மற்றும் பக்கம் கண்டெய்ன்மென்ட் இல்லாமல் (மெதுவாக இருக்கலாம் என்றாலும்) ரெண்டர் ஆகும். இதன் பொருள், பழைய உலாவிகளை உடைப்பதைப் பற்றி பயப்படாமல் நீங்கள் ஏற்கனவே உள்ள திட்டங்களில் இதைப் பயன்படுத்தலாம்.
உலாவி இணக்கத்தன்மை
நவீன உலாவிகள் CSS கண்டெய்ன்மென்ட்டுக்கு சிறந்த ஆதரவைக் கொண்டுள்ளன (Chrome, Firefox, Edge, Safari, Opera அனைத்தும் அதை நன்றாக ஆதரிக்கின்றன). சமீபத்திய இணக்கத்தன்மை தகவலுக்கு நீங்கள் Can I Use-ஐ சரிபார்க்கலாம். இது ஒரு செயல்திறன் குறிப்பு என்பதால், ஆதரவு இல்லாமை என்பது ஒரு தவறவிட்ட மேம்படுத்தலைக் குறிக்கிறது, ஒரு உடைந்த லேஅவுட்டை அல்ல.
குழு ஒத்துழைப்பு மற்றும் ஆவணப்படுத்தல்
உலகளாவிய மேம்பாட்டுக் குழுக்களுக்கு, CSS கண்டெய்ன்மென்ட்டின் பயன்பாட்டை ஆவணப்படுத்துவதும் தொடர்புகொள்வதும் முக்கியம். உங்கள் கூறு நூலகம் அல்லது வடிவமைப்பு அமைப்பில் எப்போது, எப்படி அதைப் பயன்படுத்த வேண்டும் என்பது குறித்த தெளிவான வழிகாட்டுதல்களை நிறுவவும். சீரான மற்றும் பயனுள்ள பயன்பாட்டை உறுதிப்படுத்த டெவலப்பர்களுக்கு அதன் நன்மைகள் மற்றும் சாத்தியமான தாக்கங்கள் குறித்து கல்வி கற்பிக்கவும்.
மேம்பட்ட காட்சிகள் மற்றும் சாத்தியமான ஆபத்துகள்
ஆழமாகச் செல்லும்போது, CSS கண்டெய்ன்மென்ட்டைச் செயல்படுத்தும்போது மேலும் நுணுக்கமான தொடர்புகள் மற்றும் சாத்தியமான சவால்களை ஆராய்வது மதிப்புள்ளது.
பிற CSS பண்புகளுடன் தொடர்பு
position: fixed
மற்றும்position: absolute
: இந்த பொசிஷனிங் சூழல்களைக் கொண்ட உறுப்புகள் பொதுவாக ஆரம்ப கண்டெய்னிங் பிளாக் (வியூபோர்ட்) அல்லது நெருங்கிய பொசிஷன் செய்யப்பட்ட மூதாதையருடன் தொடர்புடையவை. இருப்பினும்,contain: paint;
(அல்லதுcontent
,strict
) கொண்ட ஒரு உறுப்பு அதன் வழித்தோன்றல்களுக்கு ஒரு புதிய கண்டெய்னிங் பிளாக்-ஐ உருவாக்கும், அது வெளிப்படையாக பொசிஷன் செய்யப்படாவிட்டாலும் கூட. இது முழுமையாக அல்லது நிலையாக-பொசிஷன் செய்யப்பட்ட குழந்தைகளின் நடத்தையை நுட்பமாக மாற்றக்கூடும், இது ஒரு எதிர்பாராத ஆனால் சக்திவாய்ந்த பக்க விளைவாக இருக்கலாம். உதாரணமாக, ஒருcontain: paint
உறுப்புக்குள் உள்ள ஒருfixed
உறுப்பு வியூபோர்ட்டுக்கு பதிலாக அதன் மூதாதையருடன் தொடர்புடையதாக நிலையானதாக இருக்கும். இது பெரும்பாலும் டிராப்டவுன்கள் அல்லது டூல்டிப்கள் போன்ற கூறுகளுக்கு விரும்பத்தக்கது.overflow
: குறிப்பிட்டபடி,contain: paint;
உள்ளடக்கம் உறுப்பின் எல்லைகளுக்கு அப்பால் நீட்டிக்கப்பட்டால், மறைமுகமாகoverflow: hidden;
போல செயல்படுகிறது. இந்த கிளிப்பிங் விளைவைக் கவனத்தில் கொள்ளுங்கள். உங்களுக்கு உள்ளடக்கம் ஓவர்ஃப்ளோ ஆக வேண்டுமென்றால், உங்கள் கண்டெய்ன்மென்ட் உத்தி அல்லது உறுப்பு கட்டமைப்பை நீங்கள் சரிசெய்ய வேண்டியிருக்கலாம்.- Flexbox மற்றும் Grid லேஅவுட்கள்: CSS கண்டெய்ன்மென்ட் தனிப்பட்ட ஃபிளெக்ஸ் அல்லது கிரிட் உருப்படிகளுக்குப் பயன்படுத்தப்படலாம். எடுத்துக்காட்டாக, உங்களிடம் பல உருப்படிகளைக் கொண்ட ஒரு ஃபிளெக்ஸ் கண்டெய்னர் இருந்தால், ஒவ்வொரு உருப்படிக்கும்
contain: layout;
ஐப் பயன்படுத்துவது, உருப்படிகள் அடிக்கடி அளவு அல்லது உள்ளடக்கத்தை உள்நாட்டில் மாற்றினால் ரீஃப்ளோக்களை மேம்படுத்தலாம். இருப்பினும்,contain: size;
பயனுள்ளதாக இருக்க, அளவு விதிகள் (எ.கா.,flex-basis
,grid-template-columns
) இன்னும் உருப்படியின் பரிமாணங்களைச் சரியாகத் தீர்மானிக்கின்றன என்பதை உறுதிப்படுத்தவும்.
கண்டெய்ன்மென்ட் சிக்கல்களை பிழைத்திருத்தம் செய்தல்
contain
ஐப் பயன்படுத்திய பிறகு எதிர்பாராத நடத்தையை நீங்கள் சந்தித்தால், பிழைத்திருத்தத்தை எவ்வாறு அணுகுவது என்பது இங்கே:
- காட்சி ஆய்வு: கிளிப் செய்யப்பட்ட உள்ளடக்கம் அல்லது எதிர்பாராத உறுப்பு சரிவுகளைச் சரிபார்க்கவும், இது பெரும்பாலும் வெளிப்படையான பரிமாணங்கள் இல்லாமல்
contain: size;
உடன் ஒரு சிக்கலைக் குறிக்கிறது, அல்லதுcontain: paint;
இலிருந்து எதிர்பாராத கிளிப்பிங். - உலாவி டெவலப்பர் கருவிகள் எச்சரிக்கைகள்: நவீன உலாவிகள் பெரும்பாலும் கன்சோலில் எச்சரிக்கைகளை வழங்குகின்றன, nếu
contain: size;
ஒரு வெளிப்படையான அளவு இல்லாமல் பயன்படுத்தப்பட்டால், அல்லது பிற பண்புகள் முரண்படக்கூடும் என்றால். இந்த செய்திகளுக்கு கவனம் செலுத்துங்கள். contain
ஐ மாற்று: சிக்கல் தீர்க்கப்படுகிறதா என்பதைப் பார்க்கcontain
பண்பை தற்காலிகமாக அகற்றவும். இது கண்டெய்ன்மென்ட் காரணமா என்பதை தனிமைப்படுத்த உதவுகிறது.- சுயவிவர லேஅவுட்/பெயிண்ட்: ஒரு அமர்வைப் பதிவு செய்ய டெவலப்பர் கருவிகளில் செயல்திறன் தாவலைப் பயன்படுத்தவும். 'Layout' மற்றும் 'Paint' பிரிவுகளைப் பாருங்கள். அவை நீங்கள் கட்டுப்படுத்தப்பட வேண்டும் என்று எதிர்பார்க்கும் இடத்தில் இன்னும் நிகழ்கின்றனவா? மறுகணக்கீடுகளின் நோக்கங்கள் நீங்கள் எதிர்பார்ப்பவையா?
அதிகப்படியான பயன்பாடு மற்றும் குறையும் வருமானம்
CSS கண்டெய்ன்மென்ட் ஒரு панацея அல்ல என்பதை மீண்டும் வலியுறுத்துவது முக்கியம். அதை கண்மூடித்தனமாக அல்லது ஒவ்வொரு உறுப்புக்கும் பயன்படுத்துவது குறைந்தபட்ச ஆதாயங்களுக்கு வழிவகுக்கலாம் அல்லது முழுமையாகப் புரிந்து கொள்ளப்படாவிட்டால் நுட்பமான ரெண்டரிங் சிக்கல்களைக்கூட அறிமுகப்படுத்தலாம். எடுத்துக்காட்டாக, ஒரு உறுப்பு ஏற்கனவே வலுவான இயற்கையான தனிமைப்படுத்தலைக் கொண்டிருந்தால் (எ.கா., ஆவண ஓட்டத்தைப் பாதிக்காத ஒரு முழுமையாக பொசிஷன் செய்யப்பட்ட உறுப்பு), `contain` ஐச் சேர்ப்பது மிகக் குறைவான நன்மைகளை வழங்கக்கூடும். இலக்கு அடையாளம் காணப்பட்ட தடைகளுக்கு இலக்கு வைக்கப்பட்ட மேம்படுத்தல், போர்வை பயன்பாடு அல்ல. லேஅவுட் மற்றும் பெயிண்ட் செலவுகள் நிரூபிக்கப்பட்ட रूप से उच्च உள்ள பகுதிகளில் மற்றும் கட்டமைப்பு தனிமைப்படுத்தல் உங்கள் கூறின் சொற்பொருள் அர்த்தத்திற்கு பொருந்தும் பகுதிகளில் கவனம் செலுத்துங்கள்.
வலை செயல்திறன் மற்றும் CSS கண்டெய்ன்மென்ட்டின் எதிர்காலம்
CSS கண்டெய்ன்மென்ட் ஒரு ஒப்பீட்டளவில் முதிர்ச்சியடைந்த வலைத் தரநிலையாகும், ஆனால் அதன் முக்கியத்துவம் தொடர்ந்து வளர்ந்து வருகிறது, குறிப்பாக கோர் வெப் வைட்டல்ஸ் போன்ற பயனர் அனுபவ மெட்ரிக்குகளில் தொழில்துறையின் கவனம் செலுத்துவதால். இந்த மெட்ரிக்குகள் (லார்ஜஸ்ட் கண்டென்ட்ஃபுல் பெயிண்ட், ஃபர்ஸ்ட் இன்புட் டிலே, கமுலேட்டிவ் லேஅவுட் ஷிப்ட்) `contain` வழங்கும் ரெண்டரிங் மேம்படுத்தல்களின் வகையிலிருந்து நேரடியாகப் பயனடைகின்றன.
- லார்ஜஸ்ட் கண்டென்ட்ஃபுல் பெயிண்ட் (LCP): லேஅவுட் மாற்றங்கள் மற்றும் பெயிண்ட் சுழற்சிகளைக் குறைப்பதன் மூலம், `contain` உலாவி முக்கிய உள்ளடக்கத்தை வேகமாக ரெண்டர் செய்ய உதவக்கூடும், இது LCP-ஐ மேம்படுத்துகிறது.
- கமுலேட்டிவ் லேஅவுட் ஷிப்ட் (CLS):
contain: size;
CLS-ஐத் தணிப்பதில் நம்பமுடியாத அளவிற்கு சக்தி வாய்ந்தது. ஒரு உறுப்பின் சரியான அளவை உலாவிக்குச் சொல்வதன் மூலம், அதன் உள்ளடக்கம் இறுதியில் ஏற்றப்படும்போது அல்லது மாறும்போது எதிர்பாராத மாற்றங்களைத் தடுக்கிறீர்கள், இது மிகவும் நிலையான காட்சி அனுபவத்திற்கு வழிவகுக்கிறது. - ஃபர்ஸ்ட் இன்புட் டிலே (FID): `contain` நேரடியாக FID-ஐப் பாதிக்காது (இது பயனர் உள்ளீட்டிற்கு பதிலளிக்கக்கூடிய தன்மையை அளவிடுகிறது), ரெண்டரிங்கின் போது பிரதான த்ரெட் வேலையைக் குறைப்பதன் மூலம், இது பயனர் தொடர்புகளுக்கு விரைவாக பதிலளிக்க உலாவியை விடுவிக்கிறது, நீண்ட பணிகளைக் குறைப்பதன் மூலம் மறைமுகமாக FID-ஐ மேம்படுத்துகிறது.
வலைப் பயன்பாடுகள் இயல்பாகவே மிகவும் சிக்கலானதாகவும் பதிலளிக்கக்கூடியதாகவும் மாறும்போது, CSS கண்டெய்ன்மென்ட் போன்ற நுட்பங்கள் ഒഴിച്ചുകൂടാനാവാത്തவை ஆகின்றன. அவை ரெண்டரிங் பைப்லைன் மீது மேலும் நுணுக்கமான கட்டுப்பாட்டை நோக்கிய வலை உருவாக்கத்தில் ஒரு பரந்த போக்கின் ஒரு பகுதியாகும், இது டெவலப்பர்களுக்கு அவர்களின் சாதனம், நெட்வொர்க், அல்லது இருப்பிடத்தைப் பொருட்படுத்தாமல், பயனர்களுக்கு அணுகக்கூடிய மற்றும் மகிழ்ச்சியான உயர் செயல்திறன் கொண்ட அனுபவங்களை உருவாக்க உதவுகிறது.
உலாவி ரெண்டரிங் இயந்திரங்களின் தொடர்ச்சியான பரிணாம வளர்ச்சியும், `contain` போன்ற வலைத் தரநிலைகளின் புத்திசாலித்தனமான பயன்பாடு தொடர்ந்து முக்கியமானதாக இருக்கும் என்பதையும் குறிக்கிறது. இந்த இயந்திரங்கள் நம்பமுடியாத அளவிற்கு அதிநவீனமானவை, ஆனால் அவை இன்னும் திறமையான முடிவுகளை எடுக்க உதவும் வெளிப்படையான குறிப்புகளிலிருந்து பயனடைகின்றன. அத்தகைய சக்திவாய்ந்த, அறிவிப்பு CSS பண்புகளைப் பயன்படுத்துவதன் மூலம், உலகளவில் ஒரு சீரான வேகமான மற்றும் திறமையான வலை அனுபவத்திற்கு நாங்கள் பங்களிக்கிறோம், டிஜிட்டல் உள்ளடக்கம் மற்றும் சேவைகள் அனைவருக்கும், எல்லா இடங்களிலும் அணுகக்கூடியதாகவும் சுவாரஸ்யமாகவும் இருப்பதை உறுதிசெய்கிறோம்.
முடிவுரை
CSS கண்டெய்ன்மென்ட் என்பது செயல்திறன் மேம்படுத்தலுக்கான வலை டெவலப்பரின் ஆயுதக் களஞ்சியத்தில் ஒரு சக்திவாய்ந்த, ஆனால் பெரும்பாலும் குறைவாகப் பயன்படுத்தப்படும் கருவியாகும். சில UI கூறுகளின் தனிமைப்படுத்தப்பட்ட தன்மையைப் பற்றி உலாவிக்கு வெளிப்படையாகத் தெரிவிப்பதன் மூலம், டெவலப்பர்கள் லேஅவுட் மற்றும் பெயிண்ட் செயல்பாடுகளுடன் தொடர்புடைய கணக்கீட்டுச் சுமையை கணிசமாகக் குறைக்க முடியும். இது நேரடியாக வேகமான ஏற்றுதல் நேரங்கள், மென்மையான அனிமேஷன்கள், மற்றும் ஒரு பதிலளிக்கக்கூடிய பயனர் இடைமுகத்திற்கு மொழிபெயர்க்கிறது, இது பல்வேறு சாதனங்கள் மற்றும் நெட்வொர்க் நிலைமைகளைக் கொண்ட ஒரு உலகளாவிய பார்வையாளர்களுக்கு உயர்-தரமான அனுபவத்தை வழங்குவதற்கு மிக முக்கியமானது.
கருத்து ஆரம்பத்தில் சிக்கலானதாகத் தோன்றினாலும், contain
பண்பை அதன் தனிப்பட்ட மதிப்புகளாக - layout
, paint
, size
, மற்றும் style
- உடைப்பது இலக்கு வைக்கப்பட்ட மேம்படுத்தலுக்கான துல்லியமான கருவிகளின் ஒரு தொகுப்பை வெளிப்படுத்துகிறது. விர்ச்சுவலைஸ்டு பட்டியல்கள் முதல் ஆஃப்-ஸ்கிரீன் மோடல்கள் மற்றும் சிக்கலான ஊடாடும் விட்ஜெட்டுகள் வரை, CSS கண்டெய்ன்மென்ட்டின் நடைமுறை பயன்பாடுகள் பரந்த மற்றும் தாக்கத்தை ஏற்படுத்துகின்றன. இருப்பினும், எந்தவொரு சக்திவாய்ந்த நுட்பத்தையும் போலவே, இதற்கும் மூலோபாய பயன்பாடு, முழுமையான சோதனை, மற்றும் அதன் தாக்கங்களைப் பற்றிய தெளிவான புரிதல் தேவை. அதை கண்மூடித்தனமாகப் பயன்படுத்த வேண்டாம்; உங்கள் தடைகளைக் கண்டறிந்து, உங்கள் தாக்கத்தை அளந்து, உங்கள் அணுகுமுறையைச் சரிசெய்யவும்.
CSS கண்டெய்ன்மென்ட்டை ஏற்றுக்கொள்வது என்பது உலகம் முழுவதும் உள்ள பயனர்களின் தேவைகளைப் பூர்த்தி செய்யும் மிகவும் வலுவான, செயல்திறன் மிக்க, மற்றும் உள்ளடக்கிய வலைப் பயன்பாடுகளை உருவாக்குவதற்கான ஒரு செயலூக்கமான படியாகும், வேகம் மற்றும் பதிலளிக்கக்கூடிய தன்மை ஆடம்பரங்கள் அல்ல, ஆனால் நாம் உருவாக்கும் டிஜிட்டல் அனுபவங்களின் அடிப்பட அம்சங்கள் என்பதை உறுதிசெய்கிறது. உங்கள் திட்டங்களில் இன்றே contain
உடன் பரிசோதனை செய்யத் தொடங்குங்கள், உங்கள் வலைப் பயன்பாடுகளுக்கு ஒரு புதிய அளவிலான செயல்திறனைத் திறக்கவும், இணையத்தை அனைவருக்கும் வேகமான, மேலும் அணுகக்கூடிய இடமாக மாற்றவும்.