CSS Performance Optimization

CSS செயல்திறன் தேர்வுமுறை

CSS செயல்திறன் தேர்வுமுறை

CSS செயல்திறன் தேர்வுமுறை உங்கள் வலைத்தளம் வேகமாக ஏற்றப்படுவதையும் மென்மையாக இயங்குவதையும் செய்கிறது; இது ஒரு சிறந்த பயனர் அனுபவத்தையும் விளைவிக்கிறது.

செயல்திறன் தாக்கம்:

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

1. எளிய தேர்விகளைப் பயன்படுத்துங்கள்

முடிந்தால் எளிய தேர்விகளைப் பயன்படுத்துங்கள். சிக்கலான தேர்விகள் பாகுபடுத்தும் நேரத்தை அதிகரிக்கின்றன.

மோசமான எடுத்துக்காட்டு

body #navlist ul li a.button:hover {
  background-color: blue;
}

பிரச்சனைகள்:
• மிகவும் குறிப்பிட்ட தேர்வி
• 5 நிலை வம்சாவளி
• மெதுவான பாகுபடுத்தல்

சிறந்த எடுத்துக்காட்டு

.button:hover {
  background-color: blue;
}

நன்மைகள்:
• எளிய வகுப்பு தேர்வி
• வேகமான பாகுபடுத்தல்
• பராமரிக்க எளிதானது

🎯 தேர்வி செயல்திறன்:

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

2. பாணியிடலுக்கு உலகளாவிய தேர்வியைத் தவிர்க்கவும்

கண்டிப்பாக தேவையில்லாதபோது உலகளாவிய தேர்வியை (*) தவிர்க்கவும். உலகளாவிய தேர்வி (*) ஒவ்வொரு உறுப்பையும் பாதிக்கிறது மற்றும் பக்க வழங்கலை மெதுவாக்கலாம்.

மோசமான எடுத்துக்காட்டு:
* {
  margin: 0;
  padding: 0;
  font-size: 16px;
}

பிரச்சனைகள்:
• அனைத்து உறுப்புகளுக்கும் மீண்டும் பாணியிடல்
• செயல்திறன் போட்டல்கள்
• பாணி மோதல்கள்

🎯 சிறந்த நடைமுறை:

CSS மீட்டமைக்க பின்வருவனவற்றைப் பயன்படுத்துங்கள்:

body, h1, h2, h3, p, ul, ol {
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
}

3. உள்நிலை பாணிகளைத் தவிர்க்கவும்

தேவையில்லாதபோது உள்நிலை பாணிகளைத் தவிர்க்கவும். உள்நிலை பாணிகள் உங்கள் HTML ஐ கனமாக்குகின்றன மற்றும் நிர்வகிக்க கடினமாக உள்ளன.

மோசமான எடுத்துக்காட்டு

<div style="color: red; font-size: 18px;">Hello</div>
<p style="color: blue; font-size: 16px;">Test</p>

பிரச்சனைகள்:
• HTML கோப்பு அளவு அதிகரிப்பு
• மறுபயன்பாடு இல்லை
• பராமரிப்பு கடினம்

சிறந்த எடுத்துக்காட்டு

<div class="alert">Hello</div>
<p class="info">Test</p>
.alert {
  color: red;
  font-size: 18px;
}

.info {
  color: blue;
  font-size: 16px;
}

4. @import ஐத் தவிர்க்கவும்

வெளிப்புற CSS ஐ ஏற்றுவதற்கு @import ஐப் பயன்படுத்துவதைத் தவிர்க்கவும், ஏனெனில் இது பாணித் தாள் ஏற்றத்தை தாமதப்படுத்துகிறது.

பக்கத்தை வழங்குவதற்கு முன் ஏற்றப்படும் வகையில் தலைப்புப் பிரிவில் <link> குறிச்சொல்லுடன் வெளிப்புற CSS ஐச் சேர்க்கவும்.

@import பயன்பாடு (தவறு)

<style>
@import url("style.css");
@import url("components.css");
</style>

பிரச்சனைகள்:
• தொடர்ச்சியான ஏற்றம்
• வழங்கல் தடுப்பு
• மெதுவான பக்க ஏற்றம்

<link> பயன்பாடு (சரி)

<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="components.css">

நன்மைகள்:
• இணையான ஏற்றம்
• வேகமான பக்க ஏற்றம்
• சிறந்த செயல்திறன்

5. குறுக்குப் பண்புகளைப் பயன்படுத்துங்கள்

முடிந்தால் குறுக்குப் பண்புகளைப் பயன்படுத்துங்கள். இது இடத்தைச் சேமிக்கிறது மற்றும் பாகுபடுத்த வேகமானது.

நீண்ட பதிப்பு

margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;

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

குறுக்குப் பதிப்பு

margin: 10px 20px;

நன்மைகள்:
• குறைந்த குறியீடு
• வேகமான பாகுபடுத்தல்
• பராமரிக்க எளிதானது

📦 பிற குறுக்குப் பண்புகள்:

/* Border shorthand */
border: 1px solid #000;

/* Background shorthand */
background: #fff url(bg.jpg) no-repeat center;

/* Font shorthand */
font: bold 16px/1.5 Arial, sans-serif;

6. தேவையில்லாத அனிமேஷன்களைக் குறைக்கவும்

அதிக எண்ணிக்கையிலான அனிமேஷன்கள் மற்றும் பெரிய அனிமேஷன்களுக்கு கையாள அதிக செயலாக்க சக்தி தேவைப்படுகிறது, இது செயல்திறனைக் குறைக்கிறது. எனவே, தேவையில்லாத அனிமேஷன்களை அகற்றவும்.

7. மறுசீரமைப்பை ஏற்படுத்தாத பண்புகளைப் பயன்படுத்துங்கள்

அனிமேஷன் செயல்திறன் நீங்கள் என்ன பண்புகளை அனிமேஷன் செய்கிறீர்கள் என்பதைப் பொறுத்தது.

சில பண்புகள் (width, height, left, top போன்றவை), அனிமேஷன் செய்யப்படும்போது ஒரு தளவமைப்பு மறுகணக்கீட்டைத் தூண்டுகின்றன, மேலும் அவை தவிர்க்கப்பட வேண்டும்.

முடிந்தால், மறுசீரமைப்பை ஏற்படுத்தாத அனிமேஷன் பண்புகளைப் பயன்படுத்துங்கள், transforms, opacity மற்றும் filter போன்றவை.

மோசமான அனிமேஷன் (மறுசீரமைப்பு)
width/height

width மற்றும் height பண்புகள் ஒவ்வொரு பிரேமிலும் தளவமைப்பு மறுகணக்கீட்டைத் தூண்டுகின்றன.

சிறந்த அனிமேஷன் (GPU-முடுக்கம்)
transform

transform மற்றும் opacity பண்புகள் GPU முடுக்கம் பெறுகின்றன மற்றும் மறுசீரமைப்பை ஏற்படுத்தாது.

தவறான பண்புகள்

  • width / height
  • top / left / right / bottom
  • margin / padding
  • border-width

பிரச்சனைகள்:
• தளவமைப்பு மறுகணக்கீடு
• மெதுவான அனிமேஷன்கள்
• அதிக CPU பயன்பாடு

சரியான பண்புகள்

  • transform (translate, scale, rotate)
  • opacity
  • filter
  • background-color (modern browsers)

நன்மைகள்:
• GPU முடுக்கம்
• மென்மையான அனிமேஷன்கள்
• குறைந்த CPU பயன்பாடு

8. CSS ஐ இணைத்து சுருக்கவும்

முடிந்தால் ஒரு CSS கோப்பைப் பயன்படுத்துங்கள், மேலும் கோப்பு அளவைக் குறைக்க இடைவெளிகள் மற்றும் கருத்துகளை அகற்றவும்.

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

CSS சுருக்கிகள்

  • CSS Minifier: CSS கோப்புகளை ஆன்லைனில் சுருக்குகிறது
  • PostCSS: CSS ஐ JavaScript பிளக்-இன்களுடன் மாற்றுகிறது
  • CSSNano: CSS ஐ மேம்படுத்தும் மாடுலர் மினிஃபையர்
  • PurgeCSS: பயன்படுத்தப்படாத CSS ஐ அகற்றுகிறது
சுருக்கத்திற்கு முன் மற்றும் பின்:

சுருக்கத்திற்கு முன் (வளர்ச்சி)

/* Header Styles */
.header {
    margin: 0;
    padding: 1rem;
    background-color: #ffffff;
}

.header .logo {
    width: 100px;
    height: 50px;
}

/* Navigation */
.nav-list {
    list-style: none;
    display: flex;
}

கோப்பு அளவு: ~500 பைட்டுகள்

சுருக்கத்திற்குப் பின் (உற்பத்தி)

.header{margin:0;padding:1rem;background-color:#fff}.header .logo{width:100px;height:50px}.nav-list{list-style:none;display:flex}

கோப்பு அளவு: ~150 பைட்டுகள்

70% அளவு குறைப்பு!

9. உங்கள் CSS ஐ கேச் செய்யுங்கள்

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

HTTP கேச் எதிர்வினை தலைப்புகள்

Cache-Control: public, max-age=31536000
Expires: Wed, 01 Jan 2025 00:00:00 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT

நன்மைகள்:
• மீண்டும் ஏற்றங்கள் குறைவு
• வேகமான பக்க ஏற்றம்
• குறைந்த சேவையக வேலை

CSS செயல்திறன் தேர்வுமுறை பயிற்சி

செயல்திறன் தேர்வுமுறை பற்றிய உங்கள் அறிவை இந்த பயிற்சியுடன் சோதிக்கவும்.

மறுசீரமைப்புகளை ஏற்படுத்தாது மற்றும் GPU-முடுக்கம் பெறுவதால் அனிமேஷன்களுக்கு எந்த CSS பண்புகள் பரிந்துரைக்கப்படுகின்றன?

width and height
✗ தவறு! width மற்றும் height பண்புகள் ஒவ்வொரு பிரேமிலும் தளவமைப்பு மறுகணக்கீட்டைத் தூண்டுகின்றன, இது செயல்திறனைக் குறைக்கிறது. இவை "மோசமான" அனிமேஷன் பண்புகள் என கருதப்படுகின்றன.
top and left
✗ தவறு! top மற்றும் left பண்புகள் தளவமைப்பு மறுகணக்கீட்டைத் தூண்டுகின்றன மற்றும் GPU முடுக்கம் பெறுவதில்லை. position: absolute அல்லது fixed உடன் இணைந்தாலும், இவை transform: translate() ஐ விட மோசமான செயல்திறனைக் கொண்டுள்ளன.
transform and opacity
✓ சரி! transform மற்றும் opacity பண்புகள் GPU முடுக்கம் பெறுகின்றன மற்றும் மறுசீரமைப்பை ஏற்படுத்தாது. transform பண்பு translate(), scale(), rotate() மற்றும் opacity பண்புகளை உள்ளடக்கியது. இவை மென்மையான, செயல்திறன் அனிமேஷன்களுக்கு பரிந்துரைக்கப்படுகின்றன.
margin and padding
✗ தவறு! margin மற்றும் padding பண்புகள் தளவமைப்பு மாற்றங்களைத் தூண்டுகின்றன மற்றும் GPU முடுக்கம் பெறுவதில்லை. இவை அனிமேஷன்களுக்கு பரிந்துரைக்கப்படுவதில்லை, ஏனெனில் அவை ஒவ்வொரு பிரேமிலும் தளவமைப்பு மறுகணக்கீட்டை ஏற்படுத்துகின்றன.

சுருக்கம்

தேர்விகளை குறுகியதாகவும் எளிமையாகவும் வைத்திருங்கள் - குறிப்பிட்ட தேர்விகளைப் பயன்படுத்துங்கள் மற்றும் தேவையற்ற வம்சாவளி தேர்விகளைத் தவிர்க்கவும்
தளவமைப்பு-நொறுக்கும் செயல்பாடுகளைத் தவிர்க்கவும் - அனிமேஷன்களுக்கு transform மற்றும் opacity ஐப் பயன்படுத்துங்கள்
திறமையான அனிமேஷன் நுட்பங்களைப் பயன்படுத்துங்கள் - GPU-முடுக்கம் பெற்ற பண்புகளைத் தேர்ந்தெடுக்கவும் மற்றும் அனிமேஷன்-சார்ந்த பாதைகளில் கணக்கீடுகளைத் தவிர்க்கவும்
வெளிப்புற, சுருக்கப்பட்ட மற்றும் கேச் செய்யப்பட்ட பாணித் தாள்களைப் பயன்படுத்துங்கள் - ஒரு CSS கோப்பை இணைக்கவும், சுருக்கவும் மற்றும் கேச் செய்யவும்
அளவீடு மற்றும் கண்காணிப்பு - உலாவி DevTools, Lighthouse தணிக்கைகள் மற்றும் WebPageTest ஆகியவை CSS செயல்திறன் போட்டல்களைப் பற்றிய நுண்ணறிவை வழங்குகின்றன

🚀 நவீன CSS அம்சங்கள்:

CSS Grid, Flexbox மற்றும் container queries போன்ற புதிய CSS அம்சங்கள் பெரும்பாலும் பாரம்பரிய தளவமைப்பு முறைகளை விட செயல்திறன் கூடியவை. இந்த சொந்த தீர்வுகள் JavaScript-சார்ந்த தளவமைப்பு கணக்கீடுகளின் தேவையைக் குறைக்கின்றன மற்றும் சிறந்த வழங்கல் செயல்திறனை வழங்குகின்றன.