தமிழ்

CSS ஸ்டைல் கண்டெய்ன்மென்ட் ரெண்டரிங்கைத் தனிமைப்படுத்துவதன் மூலம் வலை செயல்திறனை எவ்வாறு மேம்படுத்துகிறது என்பதை அறிந்து, அனைத்து சாதனங்களிலும் பிராந்தியங்களிலும் வேகமான, மென்மையான பயனர் அனுபவங்களை உறுதி செய்யுங்கள்.

CSS ஸ்டைல் கண்டெய்ன்மென்ட்: உலகளாவிய வலை அனுபவங்களுக்கான ரெண்டரிங் செயல்திறன் தனிப்படுத்தலை வெளிக்கொணர்தல்

இன்றைய இணைக்கப்பட்ட உலகில், வலை செயல்திறன் என்பது விரும்பத்தக்க ஒரு அம்சம் மட்டுமல்ல; அது ஒரு அடிப்படை எதிர்பார்ப்பு. பயனர்கள், அவர்களின் புவியியல் இருப்பிடம் அல்லது அவர்கள் பயன்படுத்தும் சாதனத்தைப் பொருட்படுத்தாமல், உடனடி, தடையற்ற மற்றும் மிகவும் பதிலளிக்கக்கூடிய தொடர்புகளை எதிர்பார்க்கிறார்கள். மெதுவாக ஏற்றப்படும் அல்லது தடுமாறும் ஒரு வலைத்தளம் விரக்தி, கைவிடப்பட்ட அமர்வுகள் மற்றும் பயனர் ஈடுபாட்டில் குறிப்பிடத்தக்க எதிர்மறையான தாக்கத்திற்கு வழிவகுக்கும், இறுதியில் உலகளவில் வணிக நோக்கங்களைப் பாதிக்கும். உகந்த வலை செயல்திறனுக்கான தேடல் ஒவ்வொரு டெவலப்பர் மற்றும் நிறுவனத்திற்கும் ஒரு தொடர்ச்சியான பயணமாகும்.

திரைக்குப் பின்னால், எண்ணற்ற கூறுகள், ஸ்டைல்கள் மற்றும் ஸ்கிரிப்டுகளால் ஆன சிக்கலான பயனர் இடைமுகங்களை (UIs) ரெண்டர் செய்ய வலை உலாவிகள் அயராது உழைக்கின்றன. இந்த சிக்கலான நடனம் ஒரு அதிநவீன ரெண்டரிங் பைப்லைனை உள்ளடக்கியது, அங்கு சிறிய மாற்றங்கள் சில நேரங்களில் முழு ஆவணம் முழுவதும் தொடர்ச்சியான மறுகணக்கீடுகளைத் தூண்டக்கூடும். இந்த நிகழ்வு, பெரும்பாலும் "லேஅவுட் த்ராஷிங்" அல்லது "பெயின்ட் ஸ்டார்ம்ஸ்" என்று குறிப்பிடப்படுகிறது, இது செயல்திறனை கணிசமாக பாதித்து, பார்வைக்கு மந்தமான மற்றும் கவர்ச்சியற்ற பயனர் அனுபவத்திற்கு வழிவகுக்கும். ஒரு இ-காமர்ஸ் தளத்தில் ஒரு பொருளை கார்ட்டில் சேர்க்கும்போது முழுப் பக்கமும் நுட்பமாக மீண்டும் பாய்கிறது, அல்லது சமூக ஊடக ஊட்டங்களில் உள்ளடக்கத்தை ஸ்க்ரோல் செய்வது தடைபட்டதாகவும் பதிலளிக்காததாகவும் உணர்கிறது என்று கற்பனை செய்து பாருங்கள். இவை மேம்படுத்தப்படாத ரெண்டரிங்கின் பொதுவான அறிகுறிகளாகும்.

செயல்திறனை மேம்படுத்துவதற்கான ஒரு கலங்கரை விளக்கமாக வடிவமைக்கப்பட்ட, சக்திவாய்ந்த மற்றும் பெரும்பாலும் குறைவாகப் பயன்படுத்தப்படும் CSS பண்பு தான் CSS Style Containment: அது contain பண்பு. இந்த புதுமையான அம்சம், டெவலப்பர்கள் ஒரு குறிப்பிட்ட கூறு மற்றும் அதன் சந்ததியினர் ஒரு சுயாதீனமான ரெண்டரிங் துணை மரமாக கருதப்படலாம் என்பதை உலாவிக்கு வெளிப்படையாக சமிக்ஞை செய்ய அனுமதிக்கிறது. அவ்வாறு செய்வதன் மூலம், டெவலப்பர்கள் ஒரு கூறுகளின் "ரெண்டரிங் சுதந்திரத்தை" அறிவிக்க முடியும், இது உலாவியின் ரெண்டரிங் இயந்திரத்திற்குள் லேஅவுட், ஸ்டைல் மற்றும் பெயின்ட் மறுகணக்கீடுகளின் நோக்கத்தை திறம்பட கட்டுப்படுத்துகிறது. இந்தத் தனிமைப்படுத்தல், ஒரு வரையறுக்கப்பட்ட பகுதிக்குள் ஏற்படும் மாற்றங்கள், முழுப் பக்கத்திலும் செலவுமிக்க, பரந்த அளவிலான புதுப்பிப்புகளைத் தூண்டுவதைத் தடுக்கிறது.

contain-க்கு பின்னால் உள்ள முக்கிய கருத்து எளிமையானது ஆனால் ஆழ்ந்த தாக்கத்தை ஏற்படுத்துகிறது: ஒரு தனிமத்தின் நடத்தை பற்றிய தெளிவான குறிப்புகளை உலாவிக்கு வழங்குவதன் மூலம், அதை மிகவும் திறமையான ரெண்டரிங் முடிவுகளை எடுக்க நாம் உதவுகிறோம். மோசமான சூழ்நிலையைக் கருத்தில் கொண்டு எல்லாவற்றையும் மறுகணக்கீடு செய்வதற்குப் பதிலாக, உலாவி நம்பிக்கையுடன் தனது வேலையின் நோக்கத்தை கட்டுப்படுத்தப்பட்ட தனிமத்திற்கு மட்டுமே சுருக்க முடியும், இது ரெண்டரிங் செயல்முறைகளை வியத்தகு முறையில் வேகப்படுத்துகிறது மற்றும் மென்மையான, அதிக பதிலளிக்கக்கூடிய பயனர் இடைமுகத்தை வழங்குகிறது. இது ஒரு தொழில்நுட்ப மேம்பாடு மட்டுமல்ல; இது ஒரு உலகளாவிய கட்டாயம். செயல்திறன் மிக்க வலை, மெதுவான இணைய இணைப்புகள் அல்லது குறைந்த சக்தி வாய்ந்த சாதனங்களைக் கொண்ட பிராந்தியங்களில் உள்ள பயனர்கள் உள்ளடக்கத்தை திறம்பட அணுகவும் தொடர்பு கொள்ளவும் முடியும் என்பதை உறுதிசெய்கிறது, மேலும் உள்ளடக்கிய மற்றும் சமமான டிஜிட்டல் நிலப்பரப்பை வளர்க்கிறது.

உலாவியின் தீவிர பயணம்: ரெண்டரிங் பைப்லைனைப் புரிந்துகொள்வது

contain இன் சக்தியை உண்மையாகப் பாராட்ட, HTML, CSS மற்றும் JavaScript-ஐ உங்கள் திரையில் பிக்சல்களாக மாற்ற உலாவிகள் எடுக்கும் அடிப்படைக் படிகளைப் புரிந்துகொள்வது அவசியம். இந்த செயல்முறை சிக்கலான ரெண்டரிங் பாதை என்று அழைக்கப்படுகிறது. எளிமைப்படுத்தப்பட்டாலும், அதன் முக்கிய கட்டங்களைப் புரிந்துகொள்வது செயல்திறன் தடைகள் எங்கு அடிக்கடி நிகழ்கின்றன என்பதைக் கண்டறிய உதவுகிறது:

இங்கே முக்கியமாகக் கவனிக்க வேண்டியது என்னவென்றால், லேஅவுட் மற்றும் பெயின்ட் கட்டங்களில் செயல்பாடுகள் பெரும்பாலும் செயல்திறனில் குறிப்பிடத்தக்க பாதிப்பை ஏற்படுத்துகின்றன. லேஅவுட்டைப் பாதிக்கும் DOM அல்லது CSSOM இல் மாற்றம் ஏற்படும் போதெல்லாம் (எ.கா., ஒரு தனிமத்தின் `width`, `height`, `margin`, `padding`, `display` அல்லது `position` ஐ மாற்றுவது), உலாவி பல தனிமங்களுக்கு லேஅவுட் படியை மீண்டும் இயக்க வேண்டிய கட்டாயம் ஏற்படலாம். இதேபோல், காட்சி மாற்றங்களுக்கு (எ.கா., `color`, `background-color`, `box-shadow`) ரீபெயின்ட் தேவைப்படுகிறது. கண்டெய்ன்மென்ட் இல்லாமல், ஒரு தனிமைப்படுத்தப்பட்ட கூறில் ஒரு சிறிய புதுப்பிப்பு தேவையற்ற முறையில் முழு வலைப்பக்கத்திலும் முழு மறுகணக்கீட்டைத் தூண்டக்கூடும், இது மதிப்புமிக்க செயலாக்க சுழற்சிகளை வீணடித்து, தடுமாறும் பயனர் அனுபவத்தில் விளைகிறது.

சுதந்திரத்தை அறிவித்தல்: contain பண்பின் ஆழமான பார்வை

contain CSS பண்பு உலாவிக்கு ஒரு முக்கியமான மேம்படுத்தல் குறிப்பாக செயல்படுகிறது. இது ஒரு குறிப்பிட்ட தனிமம் மற்றும் அதன் சந்ததியினர் சுயமாக அடங்கியவை என்பதை சமிக்ஞை செய்கிறது, அதாவது அவற்றின் லேஅவுட், ஸ்டைல் மற்றும் பெயின்ட் செயல்பாடுகள் ஆவணத்தின் மற்ற பகுதிகளிலிருந்து சுயாதீனமாக நிகழலாம். இது உலாவிக்கு இலக்கு மேம்படுத்தல்களைச் செய்ய அனுமதிக்கிறது, உள் மாற்றங்கள் பரந்த பக்க கட்டமைப்பில் செலவுமிக்க மறுகணக்கீடுகளை கட்டாயப்படுத்துவதைத் தடுக்கிறது.

இந்த பண்பு பல மதிப்புகளை ஏற்றுக்கொள்கிறது, அவற்றை இணைக்கலாம் அல்லது சுருக்கங்களாகப் பயன்படுத்தலாம், ஒவ்வொன்றும் வெவ்வேறு அளவிலான கண்டெய்ன்மென்ட்டை வழங்குகின்றன:

இந்த மதிப்புகள் ஒவ்வொன்றையும் அவற்றின் குறிப்பிட்ட நன்மைகள் மற்றும் தாக்கங்களைப் புரிந்துகொள்ள விரிவாக ஆராய்வோம்.

contain: layout; – வடிவவியல் தனிமைப்படுத்தலை மாஸ்டரிங் செய்தல்

நீங்கள் ஒரு தனிமத்திற்கு contain: layout; ஐப் பயன்படுத்தும்போது, நீங்கள் அடிப்படையில் உலாவிக்குச் சொல்கிறீர்கள்: "எனது குழந்தைகளின் லேஅவுட்டில் ஏற்படும் மாற்றங்கள், எனது முன்னோர்கள் அல்லது உடன்பிறப்புகள் உட்பட, எனக்கு வெளியே உள்ள எதையும் பாதிக்காது." இது ஒரு நம்பமுடியாத சக்திவாய்ந்த அறிவிப்பு, ஏனெனில் இது உள் லேஅவுட் மாற்றங்கள் உலகளாவிய ரிஃப்ளோவைத் தூண்டுவதைத் தடுக்கிறது.

இது எப்படி வேலை செய்கிறது: contain: layout; உடன், உலாவி கட்டுப்படுத்தப்பட்ட தனிமம் மற்றும் அதன் சந்ததியினருக்கான லேஅவுட்டை சுயாதீனமாக கணக்கிட முடியும். ஒரு குழந்தை தனிமம் அதன் பரிமாணங்களை மாற்றினால், அதன் பெற்றோர் (கட்டுப்படுத்தப்பட்ட தனிமம்) ஆவணத்தின் மற்ற பகுதிகளுடன் ஒப்பிடும்போது அதன் அசல் நிலை மற்றும் அளவைத் தக்க வைத்துக் கொள்ளும். லேஅவுட் கணக்கீடுகள் கட்டுப்படுத்தப்பட்ட தனிமத்தின் எல்லைக்குள் திறம்பட தனிமைப்படுத்தப்படுகின்றன.

நன்மைகள்:

பயன்பாட்டு வழக்குகள்:

கவனிக்க வேண்டியவை:

contain: paint; – காட்சிப் புதுப்பிப்புகளைக் கட்டுப்படுத்துதல்

நீங்கள் ஒரு தனிமத்திற்கு contain: paint; ஐப் பயன்படுத்தும்போது, நீங்கள் உலாவிக்குத் தெரிவிக்கிறீர்கள்: "இந்த தனிமத்திற்குள் எதுவும் அதன் எல்லைக்கு வெளியே வரையப்படாது. மேலும், இந்த தனிமம் திரைக்கப்பால் இருந்தால், நீங்கள் அதன் உள்ளடக்கங்களை வரையத் தேவையில்லை." இந்த குறிப்பு ரெண்டரிங் பைப்லைனின் பெயின்டிங் கட்டத்தை கணிசமாக மேம்படுத்துகிறது.

இது எப்படி வேலை செய்கிறது: இந்த மதிப்பு உலாவிக்கு இரண்டு முக்கியமான விஷயங்களைச் சொல்கிறது. முதலாவதாக, இது தனிமத்தின் உள்ளடக்கங்கள் அதன் எல்லைக்கு வெட்டப்படுகின்றன என்பதைக் குறிக்கிறது. இரண்டாவதாக, செயல்திறனுக்கு மிக முக்கியமாக, இது உலாவிக்கு திறமையான "கல்லிங்" செய்ய உதவுகிறது. தனிமம் தானாகவே வியூபோர்ட்டுக்கு வெளியே (திரைக்கப்பால்) இருந்தால் அல்லது மற்றொரு தனிமத்தால் மறைக்கப்பட்டிருந்தால், உலாவி அதன் சந்ததியினர் எதையும் வரையத் தேவையில்லை என்பதை அறிந்துகொள்கிறது, இதனால் கணிசமான செயலாக்க நேரத்தை மிச்சப்படுத்துகிறது.

நன்மைகள்:

பயன்பாட்டு வழக்குகள்:

கவனிக்க வேண்டியவை:

contain: size; – பரிமாண நிலைத்தன்மையை உறுதி செய்தல்

ஒரு தனிமத்திற்கு contain: size; ஐப் பயன்படுத்துவது உலாவிக்கு ஒரு அறிவிப்பு: "எனது அளவு நிலையானது மற்றும் உள்ளே என்ன உள்ளடக்கம் இருந்தாலும் அல்லது அது எப்படி மாறினாலும் மாறாது." இது ஒரு சக்திவாய்ந்த குறிப்பு, ஏனெனில் இது தனிமத்தின் அளவைக் கணக்கிட வேண்டிய தேவையை நீக்குகிறது, இது அதன் முன்னோர்கள் மற்றும் உடன்பிறப்புகளுக்கான லேஅவுட் கணக்கீடுகளின் நிலைத்தன்மைக்கு உதவுகிறது.

இது எப்படி வேலை செய்கிறது: contain: size; பயன்படுத்தப்படும்போது, உலாவி தனிமத்தின் பரிமாணங்கள் மாறாதவை என்று கருதுகிறது. இது அதன் உள்ளடக்கம் அல்லது குழந்தைகளைப் பொறுத்து இந்த தனிமத்திற்கு எந்த அளவு கணக்கீடுகளையும் செய்யாது. தனிமத்தின் அகலம் அல்லது உயரம் CSS மூலம் வெளிப்படையாக அமைக்கப்படவில்லை என்றால், உலாவி அதை பூஜ்ஜிய அகலம் மற்றும் உயரம் கொண்டதாகக் கருதும். எனவே, இந்த பண்பு பயனுள்ளதாகவும் பயனுள்ளதாகவும் இருக்க, தனிமத்திற்கு மற்ற CSS பண்புகள் மூலம் ஒரு திட்டவட்டமான அளவு வரையறுக்கப்பட்டிருக்க வேண்டும் (எ.கா., `width`, `height`, `min-height`).

நன்மைகள்:

பயன்பாட்டு வழக்குகள்:

கவனிக்க வேண்டியவை:

contain: style; – ஸ்டைல் மறுகணக்கீடுகளைக் கட்டுப்படுத்துதல்

contain: style; ஐப் பயன்படுத்துவது உலாவிக்குச் சொல்கிறது: "எனது சந்ததியினரின் ஸ்டைல்களில் ஏற்படும் மாற்றங்கள் எந்தவொரு மூதாதையர் அல்லது உடன்பிறப்பு தனிமங்களின் கணக்கிடப்பட்ட ஸ்டைல்களையும் பாதிக்காது." இது ஸ்டைல் செல்லுபடியாகாமல் போவதையும் மறுகணக்கீட்டையும் தனிமைப்படுத்துவது பற்றியது, அவை DOM மரத்தில் மேலே பரவுவதைத் தடுக்கிறது.

இது எப்படி வேலை செய்கிறது: ஒரு சந்ததியின் ஸ்டைல் மாறும்போது உலாவிகள் பெரும்பாலும் ஒரு தனிமத்தின் முன்னோர்கள் அல்லது உடன்பிறப்புகளுக்கான ஸ்டைல்களை மீண்டும் மதிப்பீடு செய்ய வேண்டும். இது CSS கவுண்டர் மீட்டமைப்புகள், துணை மரத் தகவல்களை நம்பியிருக்கும் CSS பண்புகள் (பெற்றோர் உரை ஸ்டைலிங்கைப் பாதிக்கும் `first-line` அல்லது `first-letter` சூடோ-எலிமென்ட்கள் போன்றவை), அல்லது பெற்றோர் ஸ்டைல்களை மாற்றும் சிக்கலான `:hover` விளைவுகள் காரணமாக ஏற்படலாம். contain: style; இந்த வகையான மேல்நோக்கிய ஸ்டைல் சார்புகளைத் தடுக்கிறது.

நன்மைகள்:

பயன்பாட்டு வழக்குகள்:

கவனிக்க வேண்டியவை:

contain: content; – நடைமுறை சுருக்கம் (லேஅவுட் + பெயின்ட்)

contain: content; மதிப்பு ஒரு வசதியான சுருக்கமாகும், இது மிகவும் அடிக்கடி நன்மை பயக்கும் இரண்டு கண்டெய்ன்மென்ட் வகைகளை இணைக்கிறது: layout மற்றும் paint. இது contain: layout paint; என்று எழுதுவதற்குச் சமம். இது பல பொதுவான UI கூறுகளுக்கு ஒரு சிறந்த இயல்புநிலை தேர்வாக அமைகிறது.

இது எப்படி வேலை செய்கிறது: `content` ஐப் பயன்படுத்துவதன் மூலம், தனிமத்தின் உள் லேஅவுட் மாற்றங்கள் வெளியே எதையும் பாதிக்காது என்றும், அதன் உள் பெயின்ட் செயல்பாடுகளும் கட்டுப்படுத்தப்பட்டுள்ளன என்றும் உலாவிக்குச் சொல்கிறீர்கள், இது தனிமம் திரைக்கப்பால் இருந்தால் திறமையான கல்லிங்கை அனுமதிக்கிறது. இது செயல்திறன் நன்மைகள் மற்றும் சாத்தியமான பக்க விளைவுகளுக்கு இடையில் ஒரு வலுவான சமநிலையாகும்.

நன்மைகள்:

பயன்பாட்டு வழக்குகள்:

கவனிக்க வேண்டியவை:

contain: strict; – இறுதித் தனிமைப்படுத்தல் (லேஅவுட் + பெயின்ட் + அளவு + ஸ்டைல்)

contain: strict; என்பது கண்டெய்ன்மென்டின் மிகவும் தீவிரமான வடிவமாகும், இது contain: layout paint size style; என்று அறிவிப்பதற்குச் சமம். நீங்கள் contain: strict; ஐப் பயன்படுத்தும்போது, உலாவிக்கு ஒரு மிக வலுவான வாக்குறுதியை அளிக்கிறீர்கள்: "இந்த தனிமம் முற்றிலும் தனிமைப்படுத்தப்பட்டுள்ளது. அதன் குழந்தைகளின் ஸ்டைல்கள், லேஅவுட், பெயின்ட் மற்றும் அதன் சொந்த அளவு கூட வெளியே உள்ள எதிலிருந்தும் சுயாதீனமானவை."

இது எப்படி வேலை செய்கிறது: இந்த மதிப்பு ரெண்டரிங்கை மேம்படுத்த உலாவிக்கு அதிகபட்ச சாத்தியமான தகவல்களை வழங்குகிறது. இது தனிமத்தின் அளவு நிலையானது (மற்றும் வெளிப்படையாக அமைக்கப்படாவிட்டால் பூஜ்ஜியத்திற்குச் சுருங்கும்), அதன் பெயின்ட் வெட்டப்பட்டது, அதன் லேஅவுட் சுயாதீனமானது, மற்றும் அதன் ஸ்டைல்கள் முன்னோர்களைப் பாதிக்காது என்று கருதுகிறது. இது உலாவிக்கு ஆவணத்தின் மற்ற பகுதிகளைக் கருத்தில் கொள்ளும்போது இந்த தனிமத்துடன் தொடர்புடைய கிட்டத்தட்ட அனைத்து கணக்கீடுகளையும் தவிர்க்க அனுமதிக்கிறது.

நன்மைகள்:

பயன்பாட்டு வழக்குகள்:

கவனிக்க வேண்டியவை:

நிஜ உலகப் பயன்பாடுகள்: உலகளாவிய பயனர் அனுபவங்களை மேம்படுத்துதல்

CSS கண்டெய்ன்மென்டின் அழகு, பரந்த அளவிலான வலை இடைமுகங்களில் அதன் நடைமுறைப் பயன்பாட்டில் உள்ளது, இது உலகெங்கிலும் உள்ள பயனர் அனுபவங்களை மேம்படுத்தும் உறுதியான செயல்திறன் நன்மைகளுக்கு வழிவகுக்கிறது. contain குறிப்பிடத்தக்க மாற்றத்தை ஏற்படுத்தக்கூடிய சில பொதுவான காட்சிகளை ஆராய்வோம்:

முடிவற்ற ஸ்க்ரோலிங் பட்டியல்கள் மற்றும் கட்டங்களை மேம்படுத்துதல்

சமூக ஊடக ஊட்டங்கள் முதல் இ-காமர்ஸ் தயாரிப்பு பட்டியல்கள் வரை பல நவீன வலை பயன்பாடுகள், பரந்த அளவிலான உள்ளடக்கத்தைக் காண்பிக்க முடிவற்ற ஸ்க்ரோலிங் அல்லது மெய்நிகராக்கப்பட்ட பட்டியல்களைப் பயன்படுத்துகின்றன. சரியான மேம்படுத்தல் இல்லாமல், அத்தகைய பட்டியல்களில் புதிய உருப்படிகளைச் சேர்ப்பது, அல்லது அவற்றில் ஸ்க்ரோல் செய்வது கூட, வியூபோர்ட்டில் நுழையும் மற்றும் வெளியேறும் தனிமங்களுக்கு தொடர்ச்சியான மற்றும் செலவுமிக்க லேஅவுட் மற்றும் பெயின்ட் செயல்பாடுகளைத் தூண்டக்கூடும். இது ஜாங்க் மற்றும் ஒரு வெறுப்பூட்டும் பயனர் அனுபவத்தில் விளைகிறது, குறிப்பாக மொபைல் சாதனங்கள் அல்லது பல்வேறு உலகளாவிய பிராந்தியங்களில் பொதுவான மெதுவான நெட்வொர்க்குகளில்.

contain உடன் தீர்வு: ஒவ்வொரு தனிப்பட்ட பட்டியல் உருப்படிக்கும் (எ.கா., ஒரு `<ul>` க்குள் `<li>` தனிமங்கள் அல்லது ஒரு கட்டத்தில் `<div>` தனிமங்கள்) contain: content; (அல்லது `contain: layout paint;`) ஐப் பயன்படுத்துவது மிகவும் பயனுள்ளதாக இருக்கும். இது ஒரு பட்டியல் உருப்படிக்குள் ஏற்படும் மாற்றங்கள் (எ.கா., ஒரு படம் ஏற்றப்படுவது, உரை விரிவடைவது) மற்ற உருப்படிகளின் லேஅவுட்டையோ அல்லது ஒட்டுமொத்த ஸ்க்ரோல் கொள்கலனையோ பாதிக்காது என்று உலாவிக்குச் சொல்கிறது.

.list-item {
  contain: content; /* லேஅவுட் மற்றும் பெயின்ட் க்கான சுருக்கம் */
  /* கணிக்கக்கூடிய அளவிற்கு display, width, height போன்ற பிற தேவையான ஸ்டைலிங்கைச் சேர்க்கவும் */
}

நன்மைகள்: உலாவி இப்போது தெரியும் பட்டியல் உருப்படிகளின் ரெண்டரிங்கை திறமையாக நிர்வகிக்க முடியும். ஒரு உருப்படி பார்வைக்கு வரும்போது, அதன் தனிப்பட்ட லேஅவுட் மற்றும் பெயின்ட் மட்டுமே கணக்கிடப்படுகிறது, அது வெளியேறும்போது, உலாவி அதை வேறு எதையும் பாதிக்காமல் பாதுகாப்பாக ரெண்டர் செய்வதைத் தவிர்க்கலாம் என்பதை அறிந்துகொள்கிறது. இது கணிசமாக மென்மையான ஸ்க்ரோலிங் மற்றும் குறைக்கப்பட்ட நினைவக தடம் ஆகியவற்றிற்கு வழிவகுக்கிறது, இது உலகெங்கிலும் உள்ள பல்வேறு வன்பொருள் மற்றும் நெட்வொர்க் நிலைமைகளைக் கொண்ட பயனர்களுக்கு பயன்பாட்டை மிகவும் பதிலளிக்கக்கூடியதாகவும் அணுகக்கூடியதாகவும் உணர வைக்கிறது.

சுயாதீனமான UI விட்ஜெட்டுகள் மற்றும் கார்டுகளைக் கட்டுப்படுத்துதல்

டாஷ்போர்டுகள், செய்தி இணையதளங்கள் மற்றும் பல வலை பயன்பாடுகள் ஒரு மாடுலர் அணுகுமுறையைப் பயன்படுத்தி உருவாக்கப்பட்டுள்ளன, இதில் பல்வேறு வகையான தகவல்களைக் காட்டும் பல சுயாதீனமான "விட்ஜெட்டுகள்" அல்லது "கார்டுகள்" உள்ளன. ஒவ்வொரு விட்ஜெட்டிற்கும் அதன் சொந்த உள் நிலை, டைனமிக் உள்ளடக்கம் அல்லது ஊடாடும் தனிமங்கள் இருக்கலாம். கண்டெய்ன்மென்ட் இல்லாமல், ஒரு விட்ஜெட்டில் ஒரு புதுப்பிப்பு (எ.கா., ஒரு விளக்கப்படம் அனிமேஷன் செய்வது, ஒரு எச்சரிக்கை செய்தி தோன்றுவது) தற்செயலாக முழு டாஷ்போர்டிலும் ஒரு ரிஃப்ளோ அல்லது ரீபெயின்ட்டைத் தூண்டக்கூடும், இது குறிப்பிடத்தக்க தடுமாற்றத்திற்கு வழிவகுக்கும்.

contain உடன் தீர்வு: ஒவ்வொரு உயர்-நிலை விட்ஜெட் அல்லது கார்டு கொள்கலனுக்கும் contain: content; ஐப் பயன்படுத்தவும்.

.dashboard-widget {
  contain: content;
  /* வெளிப்புற ரிஃப்ளோக்களை ஏற்படுத்தாத வரையறுக்கப்பட்ட பரிமாணங்கள் அல்லது நெகிழ்வான அளவை உறுதிசெய்யவும் */
}

.product-card {
  contain: content;
  /* நிலையான லேஅவுட்டிற்கு சீரான அளவை வரையறுக்கவும் அல்லது flex/grid ஐப் பயன்படுத்தவும் */
}

நன்மைகள்: ஒரு தனிப்பட்ட விட்ஜெட் புதுப்பிக்கப்படும்போது, அதன் ரெண்டரிங் செயல்பாடுகள் அதன் எல்லைகளுக்குள் கட்டுப்படுத்தப்படுகின்றன. உலாவி நம்பிக்கையுடன் மற்ற விட்ஜெட்டுகள் அல்லது முக்கிய டாஷ்போர்டு கட்டமைப்பிற்கான லேஅவுட் மற்றும் பெயின்ட்டை மீண்டும் மதிப்பீடு செய்வதைத் தவிர்க்கலாம். இது ஒரு உயர் செயல்திறன் மற்றும் நிலையான UI இல் விளைகிறது, அங்கு டைனமிக் புதுப்பிப்புகள் தடையற்றதாக உணர்கின்றன, ஒட்டுமொத்த பக்கத்தின் சிக்கலைப் பொருட்படுத்தாமல், உலகெங்கிலும் உள்ள சிக்கலான தரவு காட்சிப்படுத்தல்கள் அல்லது செய்தி ஊட்டங்களுடன் தொடர்பு கொள்ளும் பயனர்களுக்கு இது பயனளிக்கிறது.

திரைக்கப்பால் உள்ள உள்ளடக்கத்தை திறமையாக நிர்வகித்தல்

பல வலை பயன்பாடுகள் ஆரம்பத்தில் மறைக்கப்பட்டு பின்னர் வெளிப்படுத்தப்படும் அல்லது பார்வைக்கு அனிமேஷன் செய்யப்படும் தனிமங்களைப் பயன்படுத்துகின்றன, அதாவது மோடல் உரையாடல்கள், ஆஃப்-கேன்வாஸ் வழிசெலுத்தல் மெனுக்கள் அல்லது விரிவாக்கக்கூடிய பிரிவுகள். இந்த தனிமங்கள் மறைக்கப்பட்டிருக்கும்போது (எ.கா., `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 பண்பைப் பயன்படுத்துவதற்கான சிறந்த வேட்பாளர்கள் பின்வரும் பண்புகளைக் கொண்ட தனிமங்கள்:

தத்தெடுப்பதற்கான சிறந்த நடைமுறைகள்

CSS கண்டெய்ன்மென்ட்டை திறம்படப் பயன்படுத்த, இந்த சிறந்த நடைமுறைகளைக் கருத்தில் கொள்ளுங்கள்:

பொதுவான தவறுகள் மற்றும் அவற்றை எவ்வாறு தவிர்ப்பது

contain க்கு அப்பால்: வலை செயல்திறனின் முழுமையான பார்வை

CSS contain ரெண்டரிங் செயல்திறன் தனிமைப்படுத்தலுக்கான நம்பமுடியாத மதிப்புமிக்க கருவியாக இருந்தாலும், அது ஒரு பெரிய புதிரின் ஒரு பகுதி என்பதை நினைவில் கொள்வது முக்கியம். உண்மையிலேயே செயல்திறன் மிக்க வலை அனுபவத்தை உருவாக்க ஒரு முழுமையான அணுகுமுறை தேவை, பல மேம்படுத்தல் நுட்பங்களை ஒருங்கிணைக்கிறது. இந்த பரந்த நிலப்பரப்பில் contain எவ்வாறு பொருந்துகிறது என்பதைப் புரிந்துகொள்வது, உலகளவில் சிறந்து விளங்கும் வலை பயன்பாடுகளை உருவாக்க உங்களுக்கு அதிகாரம் அளிக்கும்.

CSS கண்டெய்ன்மென்ட்டை இந்த பரந்த உத்திகளுடன் இணைப்பதன் மூலம், டெவலப்பர்கள் தங்கள் சாதனம், நெட்வொர்க் அல்லது புவியியல் இருப்பிடத்தைப் பொருட்படுத்தாமல், எல்லா இடங்களிலும் உள்ள பயனர்களுக்கு ஒரு உயர்ந்த அனுபவத்தை வழங்கும் உண்மையிலேயே உயர் செயல்திறன் கொண்ட வலை பயன்பாடுகளை உருவாக்க முடியும்.

முடிவுரை: அனைவருக்கும் வேகமான, அணுகக்கூடிய வலையை உருவாக்குதல்

CSS contain பண்பு, வலைத் தரங்களின் தொடர்ச்சியான பரிணாம வளர்ச்சிக்கு ஒரு சான்றாக நிற்கிறது, இது டெவலப்பர்களுக்கு ரெண்டரிங் செயல்திறன் மீது நுணுக்கமான கட்டுப்பாட்டை வழங்குகிறது. கூறுகளை வெளிப்படையாகத் தனிமைப்படுத்த உங்களுக்கு உதவுவதன் மூலம், உலாவிகள் மிகவும் திறமையாக வேலை செய்ய அனுமதிக்கிறது, சிக்கலான வலை பயன்பாடுகளை அடிக்கடி பாதிக்கும் தேவையற்ற லேஅவுட் மற்றும் பெயின்ட் வேலையைக் குறைக்கிறது. இது நேரடியாக ஒரு மென்மையான, பதிலளிக்கக்கூடிய மற்றும் சுவாரஸ்யமான பயனர் அனுபவமாக மாறுகிறது.

டிஜிட்டல் இருப்பு மிக முக்கியமான உலகில், ஒரு செயல்திறன் மிக்க மற்றும் ஒரு மந்தமான வலைத்தளத்திற்கு இடையிலான வேறுபாடு பெரும்பாலும் வெற்றி அல்லது தோல்வியைத் தீர்மானிக்கிறது. ஒரு தடையற்ற அனுபவத்தை வழங்கும் திறன் அழகியல் பற்றியது மட்டுமல்ல; இது அணுகல்தன்மை, ஈடுபாடு, மற்றும் இறுதியில், உலகின் ஒவ்வொரு மூலையிலிருந்தும் பயனர்களுக்கான டிஜிட்டல் பிளவைக் குறைப்பது பற்றியது. ஒரு வளரும் நாட்டில் ஒரு பழைய மொபைல் தொலைபேசியில் உங்கள் சேவையை அணுகும் ஒரு பயனர், ஒரு உயர்நிலை டெஸ்க்டாப்புடன் ஃபைபர் ஆப்டிக் இணைப்பில் உள்ள பயனரைப் போலவே, CSS கண்டெய்ன்மென்ட் உடன் மேம்படுத்தப்பட்ட ஒரு தளத்திலிருந்து பெரிதும் பயனடைவார்.

அனைத்து முன்-முனை டெவலப்பர்களையும் contain இன் திறன்களை ஆராய ஊக்குவிக்கிறோம். உங்கள் பயன்பாடுகளை சுயவிவரப்படுத்தி, மேம்படுத்தலுக்கு உகந்த பகுதிகளை அடையாளம் கண்டு, இந்த சக்திவாய்ந்த CSS அறிவிப்புகளை மூலோபாய ரீதியாகப் பயன்படுத்துங்கள். contain ஐ ஒரு விரைவான தீர்வாக அல்ல, ஆனால் உங்கள் வலைத் திட்டங்களின் வலுவான தன்மைக்கும் செயல்திறனுக்கும் பங்களிக்கும் ஒரு சிந்தனைமிக்க, கட்டடக்கலை முடிவாக ஏற்றுக்கொள்ளுங்கள்.

CSS கண்டெய்ன்மென்ட் போன்ற நுட்பங்கள் மூலம் ரெண்டரிங் பைப்லைனை நுணுக்கமாக மேம்படுத்துவதன் மூலம், வேகமான, திறமையான மற்றும் உண்மையிலேயே அனைவருக்கும், எல்லா இடங்களிலும் அணுகக்கூடிய ஒரு வலையை உருவாக்க நாங்கள் பங்களிக்கிறோம். செயல்திறனுக்கான இந்த அர்ப்பணிப்பு ஒரு சிறந்த உலகளாவிய டிஜிட்டல் எதிர்காலத்திற்கான அர்ப்பணிப்பாகும். இன்றே contain உடன் பரிசோதனை செய்யத் தொடங்கி, உங்கள் பயன்பாடுகளுக்கான வலை செயல்திறனின் அடுத்த கட்டத்தைத் திறக்கவும்!