Sass போன்ற ப்ரீபுரோசெசர்கள் முதல் நேட்டிவ் CSS வரை மிக்சின் பயன்பாட்டை ஆராய்ந்து, குறியீடு மறுபயன்பாடு மற்றும் பராமரிப்பில் தேர்ச்சி பெற்று, திறமையான ஸ்டைலிங்கிற்கான சிறந்த நடைமுறைகளைக் கற்றுக்கொள்ளுங்கள்.
CSS அப்ளை விதியில் தேர்ச்சி: உலகளாவிய வலை மேம்பாட்டிற்கான மிக்சின் பயன்பாட்டின் விரிவான வழிகாட்டி
வலை மேம்பாட்டின் விரிவான மற்றும் எப்போதும் மாறிவரும் உலகில், செயல்திறன், பராமரிப்புத்திறன் மற்றும் அளவிடுதல் ஆகியவை மிக முக்கியமானவை. CSS ஸ்டைல்ஷீட்கள் சிக்கலானதாக வளரும்போது, மீண்டும் மீண்டும் வரும் குறியீட்டை நிர்வகிப்பதும், பல்வேறு வலைத் திட்டங்களில் நிலைத்தன்மையை உறுதி செய்வதும் ஒரு குறிப்பிடத்தக்க சவாலாகிறது. இங்குதான் "மிக்சின்கள்" என்ற கருத்து ஒரு சக்திவாய்ந்த தீர்வாக வெளிப்படுகிறது, இது குறியீடு மறுபயன்பாட்டிற்கும் மற்றும் சீரான மேம்பாட்டு செயல்முறைகளுக்கும் ஒரு வலுவான வழிமுறையை வழங்குகிறது.
இந்த விரிவான வழிகாட்டி CSS மிக்சின் பயன்பாட்டின் உலகிற்குள் ஆழமாகச் செல்கிறது, அதன் அடிப்படைக் கோட்பாடுகள், பிரபலமான CSS ப்ரீபுரோசெசர்களைப் பயன்படுத்திய நடைமுறைச் செயல்பாடுகள் மற்றும் நேட்டிவ் CSS @apply
விதியின் வரலாற்றுச் சூழல் ஆகியவற்றை ஆராய்கிறது. மிக்சின்கள் எவ்வாறு டெவலப்பர்களுக்கு சுத்தமான, மேலும் ஒழுங்கமைக்கப்பட்ட மற்றும் எளிதில் பராமரிக்கக்கூடிய CSS-ஐ எழுத அதிகாரம் அளிக்கின்றன என்பதை நாம் பிரித்தாய்வோம், இது வெவ்வேறு நேர மண்டலங்கள் மற்றும் கலாச்சார சூழல்களில் ஒத்துழைக்கும் குழுக்களுக்கு ஒரு முக்கியமான அம்சமாகும், இது உலகளவில் ஒரு நிலையான பயனர் அனுபவத்தை உறுதி செய்கிறது.
CSS மேம்பாட்டில் மிக்சின்களின் அடிப்படைக் கருத்து
அதன் மையத்தில், ஒரு மிக்சின் என்பது ஒரு ஸ்டைல்ஷீட் முழுவதும் மீண்டும் பயன்படுத்தக்கூடிய CSS அறிவிப்புகளின் ஒரு தொகுப்பாகும். இதை நிரலாக்க மொழிகளில் உள்ள ஒரு செயல்பாடு (function) போல நினைத்துப் பாருங்கள், ஆனால் CSS-க்கு. பல்வேறு கூறுகளுக்கு ஒரே பண்புகளை மீண்டும் மீண்டும் வரையறுப்பதற்குப் பதிலாக, அவற்றை ஒரு முறை மிக்சினுக்குள் வரையறுத்து, பின்னர் அந்தப் பண்புகள் தேவைப்படும் இடங்களில் அந்த மிக்சினை "சேர்க்கவும்" அல்லது "பயன்படுத்தவும்" செய்கிறீர்கள். இந்த 'உங்களை நீங்களே மீண்டும் செய்யாதீர்கள்' (Don't Repeat Yourself - DRY) கோட்பாட்டிற்கு இணங்குவது நவீன, திறமையான வலை மேம்பாட்டிற்கு அடிப்படையானது.
மிக்சின்களை ஏற்றுக்கொள்வதற்கான முதன்மைக் காரணங்கள் தெளிவானவை:
-
மேம்பட்ட மறுபயன்பாடு: பொதுவான ஸ்டைல்களை ஒருமுறை வரையறுத்து அவற்றை எல்லா இடங்களிலும் பயன்படுத்தவும், இது தேவையற்ற நகல்களைக் குறைக்கிறது.
-
மேம்படுத்தப்பட்ட பராமரிப்புத்திறன்: ஒரு ஸ்டைல் பிளாக்கில் மாற்றங்களை ஒரே இடத்தில் - மிக்சின் வரையறையில் - செய்ய வேண்டும், அவை மிக்சின் பயன்படுத்தப்படும் எல்லா இடங்களிலும் தானாகவே பரவுகின்றன. இது நீண்ட காலத் திட்டங்கள் மற்றும் பெரிய குழுக்களுக்கு விலைமதிப்பற்றது.
-
அதிக நிலைத்தன்மை: பொத்தான் ஸ்டைல்கள், அச்சுக்கலை அளவீடுகள் அல்லது தளவமைப்பு உள்ளமைவுகள் போன்ற அடிக்கடி பயன்படுத்தப்படும் வடிவமைப்பு முறைகளை தரப்படுத்துவதன் மூலம் ஒரு வலைத்தளம் அல்லது பயன்பாடு முழுவதும் ஒரே மாதிரியான தோற்றத்தையும் உணர்வையும் உறுதி செய்யுங்கள்.
-
குறைக்கப்பட்ட கோப்பு அளவு (தொகுப்பிற்குப் பிறகு): ப்ரீபுரோசெசர் மூலக் கோப்புகளில் மிக்சின் வரையறைகள் இருக்கலாம் என்றாலும், தொகுக்கப்பட்ட CSS பெரும்பாலும் சிறந்த அமைப்பிலிருந்து பயனடைகிறது, இருப்பினும் இறுதி கோப்பு அளவு ஒரு மிக்சின் எத்தனை முறை சேர்க்கப்பட்டுள்ளது மற்றும் அது எவ்வளவு திறமையாக எழுதப்பட்டுள்ளது என்பதைப் பொறுத்தது.
-
விரைவான மேம்பாடு: முன் வரையறுக்கப்பட்ட ஸ்டைல் பிளாக்குகள் கையில் இருப்பதால், டெவலப்பர்கள் கூறுகள் மற்றும் பக்கங்களை மிக வேகமாக உருவாக்க முடியும், மீண்டும் மீண்டும் ஸ்டைலிங் பணிகளில் கவனம் செலுத்துவதை விட தனித்துவமான அம்சங்களில் கவனம் செலுத்தலாம்.
வரலாற்று ரீதியாக, தூய CSS-ல் இந்த அளவிலான மறுபயன்பாட்டை அடைவது சவாலானது. டெவலப்பர்கள் பெரும்பாலும் பயன்பாட்டு வகுப்புகள் (utility classes) அல்லது சிக்கலான செலக்டர் சங்கிலிகளை நாடினர், இது நீளமான HTML அல்லது நிர்வகிக்க கடினமான ஸ்டைல்ஷீட்களுக்கு வழிவகுக்கும். CSS ப்ரீபுரோசெசர்களின் வருகை இதை புரட்சிகரமாக்கியது, மேலும் சமீபத்தில், தனிப்பயன் பண்புகள் (Custom Properties) போன்ற நேட்டிவ் CSS அம்சங்கள் மீண்டும் மீண்டும் வரும் ஸ்டைல்களை நிர்வகிக்க புதிய வழிகளை வழங்குகின்றன.
CSS ப்ரீபுரோசெசர்களில் மிக்சின்கள்: மறுபயன்பாட்டின் உழைப்பாளிகள்
Sass (Syntactically Awesome Style Sheets), Less, மற்றும் Stylus போன்ற CSS ப்ரீபுரோசெசர்கள் நீண்ட காலமாக CSS-ஐ மாறிகள், செயல்பாடுகள் மற்றும் முக்கியமாக மிக்சின்கள் உள்ளிட்ட நிரலாக்க-போன்ற திறன்களுடன் விரிவுபடுத்துவதற்கான கருவிகளாக இருந்து வருகின்றன. அவற்றின் தொடரியல் வேறுபட்டாலும், மிக்சின்களுக்கான அவற்றின் அடிப்படைக் கொள்கை மிகவும் ஒத்திருக்கிறது: மீண்டும் பயன்படுத்தக்கூடிய ஸ்டைல்களின் ஒரு தொகுப்பை வரையறுத்து, பின்னர் அதைச் சேர்க்கவும்.
Sass மிக்சின்கள்: பயன்பாட்டில் ஒரு ஆழமான பார்வை
Sass, மிகவும் பிரபலமான மற்றும் அம்சம் நிறைந்த ப்ரீபுரோசெசர்களில் ஒன்றாக இருப்பதால், ஒரு வலுவான மிக்சின் அமைப்பை வழங்குகிறது. இது ஆர்குமென்ட்கள், இயல்புநிலை மதிப்புகள் மற்றும் உள்ளடக்கத் தொகுதிகள் மூலம் நெகிழ்வுத்தன்மையை வழங்குகிறது, இது எண்ணற்ற பயன்பாட்டு நிகழ்வுகளுக்கு நம்பமுடியாத அளவிற்கு சக்தி வாய்ந்ததாக ஆக்குகிறது.
ஒரு அடிப்படை மிக்சினை வரையறுத்தல்
Sass-ல் ஒரு மிக்சின் @mixin
டைரக்டிவ் மூலம் வரையறுக்கப்படுகிறது, அதைத் தொடர்ந்து ஒரு பெயர். இந்த பெயர் பொதுவாக தெளிவுக்காக கெபாப்-கேஸ் (kebab-case) பயன்படுத்துகிறது.
எடுத்துக்காட்டு: அடிப்படை மையப்படுத்தும் மிக்சின்
@mixin center-element {
display: flex;
justify-content: center;
align-items: center;
}
இந்த எளிய மிக்சின் ஒரு உறுப்பை Flexbox ஐப் பயன்படுத்தி மையப்படுத்தத் தேவையான பொதுவான பண்புகளை உள்ளடக்கியுள்ளது. ஒரு மிக்சின் இல்லாமல், நீங்கள் எதையாவது மையப்படுத்த வேண்டிய ஒவ்வொரு முறையும் இந்த மூன்று வரிகளை மீண்டும் மீண்டும் எழுதுவீர்கள்.
ஒரு மிக்சினைச் சேர்த்தல்
வரையறுக்கப்பட்ட மிக்சினைப் பயன்படுத்த, நீங்கள் ஒரு CSS விதிக்குள் @include
டைரக்டிவ்-ஐப் பயன்படுத்துகிறீர்கள். தொகுக்கப்படும்போது, ப்ரீபுரோசெசர் @include
அழைப்பை மிக்சினிலிருந்து உண்மையான CSS அறிவிப்புகளுடன் மாற்றுகிறது.
எடுத்துக்காட்டு: மையப்படுத்தும் மிக்சினைச் சேர்த்தல்
.card {
width: 300px;
height: 200px;
background-color: #f0f0f0;
@include center-element;
}
.modal {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
@include center-element;
}
தொகுக்கப்பட்டதும், .card
வகுப்பிற்கான CSS வெளியீடு இப்படி இருக்கும்:
.card {
width: 300px;
height: 200px;
background-color: #f0f0f0;
display: flex;
justify-content: center;
align-items: center;
}
இது மிக்சின்களின் அடிப்படை சக்தியை நிரூபிக்கிறது: எழுதக் குறைவான வரிகள், நிர்வகிக்க எளிதானது.
ஆர்குமென்ட்களுடன் கூடிய மிக்சின்கள்: டைனமிக் ஸ்டைலிங்
மிக்சின்களின் உண்மையான சக்தி நீங்கள் ஆர்குமென்ட்களை அறிமுகப்படுத்தும்போது வெளிப்படுகிறது, இது டைனமிக் மதிப்புகளை ஏற்க அனுமதிக்கிறது. இது மிகவும் நெகிழ்வான மற்றும் மாற்றியமைக்கக்கூடிய ஸ்டைல் தொகுதிகளை உருவாக்க உதவுகிறது.
நிலை ஆர்குமென்ட்கள் (Positional Arguments)
ஆர்குமென்ட்கள் மிக்சின் பெயருக்குப் பிறகு அடைப்புக்குறிக்குள் வரையறுக்கப்படுகின்றன, இது செயல்பாட்டு அளவுருக்களைப் போன்றது. மிக்சினைச் சேர்க்கும்போது, நீங்கள் அதே வரிசையில் மதிப்புகளை அனுப்புகிறீர்கள்.
எடுத்துக்காட்டு: டைனமிக் பொத்தான் ஸ்டைல்கள்
@mixin button-styles($bg-color, $text-color, $padding) {
display: inline-block;
padding: $padding;
background-color: $bg-color;
color: $text-color;
border: none;
border-radius: 5px;
cursor: pointer;
text-decoration: none;
font-weight: bold;
}
.btn-primary {
@include button-styles(#007bff, #fff, 10px 20px);
}
.btn-secondary {
@include button-styles(#6c757d, #fff, 8px 16px);
}
இந்த மிக்சின் இப்போது பின்னணி நிறம், உரை நிறம் மற்றும் பேடிங்கிற்கான வெவ்வேறு ஆர்குமென்ட்களை வழங்குவதன் மூலம் பல்வேறு பொத்தான் ஸ்டைல்களை உருவாக்க உங்களை அனுமதிக்கிறது, இது மீண்டும் மீண்டும் வரும் குறியீட்டைக் கணிசமாகக் குறைக்கிறது.
முக்கியச்சொல் ஆர்குமென்ட்கள் மற்றும் இயல்புநிலை மதிப்புகள் (Keyword Arguments and Default Values)
Sass முக்கியச்சொல் ஆர்குமென்ட்களையும் ஆதரிக்கிறது, இது பெயரால் மதிப்புகளை அனுப்ப உங்களை அனுமதிக்கிறது, இது வாசிப்புத்திறனை மேம்படுத்துகிறது, குறிப்பாக பல ஆர்குமென்ட்களைக் கொண்ட மிக்சின்களுக்கு. நீங்கள் ஆர்குமென்ட்களுக்கு இயல்புநிலை மதிப்புகளையும் ஒதுக்கலாம், மிக்சினைச் சேர்க்கும்போது அவற்றை விருப்பத்தேர்வாக மாற்றலாம்.
எடுத்துக்காட்டு: இயல்புநிலை மதிப்புகளுடன் ரெஸ்பான்சிவ் அச்சுக்கலை மிக்சின்
@mixin responsive-text($font-size, $line-height: 1.5, $color: #333) {
font-size: $font-size;
line-height: $line-height;
color: $color;
}
.hero-heading {
@include responsive-text(48px, 1.2, #1a1a1a);
}
.body-text {
@include responsive-text(16px);
/* line-height இயல்பாக 1.5, color இயல்பாக #333 */
}
.caption {
@include responsive-text($font-size: 14px, $color: #777);
/* line-height இயல்பாக 1.5 */
}
இயல்புநிலை மதிப்புகள் விவேகமான பின்னடைவுகளை வழங்குவதற்கும், பொதுவான சூழ்நிலைகளுக்கு நீங்கள் அனுப்ப வேண்டிய ஆர்குமென்ட்களின் எண்ணிக்கையைக் குறைப்பதற்கும் நம்பமுடியாத அளவிற்கு பயனுள்ளதாக இருக்கும். முக்கியச்சொல் ஆர்குமென்ட்கள் தெளிவை மேம்படுத்துகின்றன, குறிப்பாக ஆர்குமென்ட்களின் வரிசை உடனடியாகத் தெளிவாகத் தெரியாதபோது.
மாறும் எண்ணிக்கையிலான உள்ளீடுகளுக்கு ரெஸ்ட் ஆர்குமென்ட்கள் (...
)
ஒரு மிக்சின் தன்னிச்சையான எண்ணிக்கையிலான ஆர்குமென்ட்களை ஏற்க வேண்டிய சூழ்நிலைகளுக்கு, Sass ...
ஐப் பயன்படுத்தி ரெஸ்ட் ஆர்குமென்ட்களை வழங்குகிறது. இது box-shadow
அல்லது text-shadow
போன்ற பல மதிப்புகளை ஏற்கும் பண்புகளுக்கு குறிப்பாக பயனுள்ளதாக இருக்கும்.
எடுத்துக்காட்டு: நெகிழ்வான ஷேடோ மிக்சின்
@mixin multi-shadow($shadows...) {
box-shadow: $shadows;
}
.element-with-shadow {
@include multi-shadow(0 2px 4px rgba(0,0,0,0.1), 0 8px 16px rgba(0,0,0,0.2));
}
.another-element {
@include multi-shadow(inset 0 0 10px red);
}
இந்த மிக்சின் அதற்கு அனுப்பப்பட்ட எந்த எண்ணிக்கையிலான ஷேடோ வரையறைகளையும் நெகிழ்வாகக் கையாளுகிறது, அவற்றை நேரடியாக box-shadow
பண்பிற்குள் தொகுக்கிறது.
உள்ளடக்கத்துடன் கூடிய மிக்சின்கள்: ஸ்டைல்களின் தொகுதிகளை அனுப்புதல்
Sass-ல் உள்ள @content
டைரக்டிவ் ஒரு சக்திவாய்ந்த அம்சமாகும், இது CSS விதிகள் அல்லது அறிவிப்புகளின் ஒரு தொகுதியை நேரடியாக ஒரு மிக்சினுக்குள் அனுப்ப உங்களை அனுமதிக்கிறது. இது குறிப்பிட்ட ஸ்டைல்கள் பயன்படுத்தப்பட வேண்டிய ராப்பர்கள் அல்லது குறிப்பிட்ட சூழல்களை உருவாக்குவதற்கு விலைமதிப்பற்றது.
எடுத்துக்காட்டு: உள்ளடக்கத்துடன் கூடிய மீடியா குவரி மிக்சின்
@mixin breakpoint($point) {
@if $point == desktop {
@media (min-width: 1024px) {
@content;
}
} @else if $point == tablet {
@media (min-width: 768px) and (max-width: 1023px) {
@content;
}
} @else if $point == mobile {
@media (max-width: 767px) {
@content;
}
}
}
.my-component {
width: 100%; /* இயல்புநிலை மொபைல் முதல் */
@include breakpoint(tablet) {
width: 75%;
margin: 0 auto;
}
@include breakpoint(desktop) {
width: 50%;
max-width: 960px;
margin: 0 auto;
}
}
இந்த எடுத்துக்காட்டில், @mixin breakpoint
க்குள் உள்ள @content
டைரக்டிவ், வெவ்வேறு திரை அளவுகளுக்கான குறிப்பிட்ட ஸ்டைல்களை நேரடியாக கூறுகளின் விதித் தொகுப்பிற்குள் வரையறுக்க உங்களை அனுமதிக்கிறது, மீடியா வினவல்களை தொடர்புடைய கூறுக்கு உள்ளூர்மயமாக்குகிறது. இந்த முறை ரெஸ்பான்சிவ் வடிவமைப்புகளை நிர்வகிப்பதற்கும், ஸ்டைல்ஷீட்களின் வாசிப்புத்திறனை மேம்படுத்துவதற்கும் நம்பமுடியாத அளவிற்கு பிரபலமானது, குறிப்பாக உலகளாவிய குழுக்களில் பரவலாக உள்ள கூறு-அடிப்படையிலான கட்டமைப்புகளில்.
மேம்பட்ட மிக்சின் முறைகள் மற்றும் பரிசீலனைகள்
மிக்சின்களை மற்ற Sass அம்சங்களுடன் இணைத்து இன்னும் அதிநவீன மற்றும் டைனமிக் ஸ்டைல்களை உருவாக்கலாம்.
மிக்சின்களுக்குள் நிபந்தனை தர்க்கம்
நிபந்தனைகளின் அடிப்படையில் ஸ்டைல்களைப் பயன்படுத்த நீங்கள் @if
, @else if
, மற்றும் @else
டைரக்டிவ்களை மிக்சின்களுக்குள் பயன்படுத்தலாம். இது மிகவும் உள்ளமைக்கக்கூடிய மிக்சின்களை செயல்படுத்துகிறது.
எடுத்துக்காட்டு: தீம்-அறிந்த பொத்தான் மிக்சின்
@mixin themed-button($theme: default) {
@if $theme == default {
background-color: #007bff;
color: #fff;
} @else if $theme == dark {
background-color: #343a40;
color: #fff;
} @else if $theme == light {
background-color: #f8f9fa;
color: #333;
border: 1px solid #ddd;
} @else {
@warn "Unknown theme #{$theme} used in themed-button mixin.";
background-color: #ccc;
color: #000;
}
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
}
.btn-buy {
@include themed-button(dark);
}
.btn-checkout {
@include themed-button(light);
}
இந்த மிக்சின் ஒரு குறிப்பிட்ட தீமின் அடிப்படையில் வெவ்வேறு பொத்தான் ஸ்டைல்களை வழங்குகிறது, இது காட்சி வேறுபாடுகளை சீராக நிர்வகிக்க ஒரு வலுவான வழியை வழங்குகிறது.
மிக்சின்களில் லூப்கள்
Sass லூப்களை (@for
, @each
, @while
) மிக்சின்களில் ஒருங்கிணைத்து, இடைவெளி பயன்பாடுகள் அல்லது நெடுவரிசை கட்டங்கள் போன்ற மீண்டும் மீண்டும் வரும் ஸ்டைல்களை நிரல்ரீதியாக உருவாக்கலாம்.
எடுத்துக்காட்டு: லூப் உடன் இடைவெளி பயன்பாட்டு மிக்சின்
@mixin generate-spacing-utilities($max: 5, $step: 5px) {
@for $i from 1 through $max {
$value: $i * $step;
.margin-#{$i} {
margin: $value;
}
.padding-#{$i} {
padding: $value;
}
}
}
@include generate-spacing-utilities(5, 10px);
/* இது .margin-1 { margin: 10px; } முதல் .margin-5 { margin: 50px; } வரையிலான வகுப்புகளை உருவாக்கும் */
இந்த மிக்சின் சீரான இடைவெளிக்காக ஒரு தொகுதி பயன்பாட்டு வகுப்புகளை உருவாக்குகிறது, குறிப்பிடத்தக்க கைமுறை முயற்சியைச் சேமிக்கிறது மற்றும் ஒரு ஒருங்கிணைந்த வடிவமைப்பு அமைப்பை உறுதி செய்கிறது. இத்தகைய பயன்பாட்டு வகுப்புகள் பெரிய, உலகளவில் விநியோகிக்கப்பட்ட திட்டங்களில் விலைமதிப்பற்றவை, அங்கு டெவலப்பர்களுக்கு தரப்படுத்தப்பட்ட இடைவெளி மதிப்புகளுக்கு விரைவான அணுகல் தேவை.
மிக்சின்கள் vs. செயல்பாடுகள் vs. ப்ளேஸ்ஹோல்டர்கள் (%extend
)
Sass மிக்சின்களைப் போலவே தோன்றக்கூடிய பிற அம்சங்களையும் வழங்குகிறது, ஆனால் அவை தனித்துவமான நோக்கங்களுக்காக சேவை செய்கின்றன:
-
செயல்பாடுகள் (Functions): Sass செயல்பாடுகள் (
@function
உடன் வரையறுக்கப்பட்டவை) ஒரு ஒற்றை மதிப்பைக் கணக்கிட்டுத் திருப்பித் தருகின்றன. அவை கணக்கீடுகள், வண்ணக் கையாளுதல்கள் அல்லது சரம் செயல்பாடுகளுக்குப் பயன்படுத்தப்படுகின்றன. அவை நேரடியாக CSS-ஐ வெளியிடாது. மறுபுறம், மிக்சின்கள் CSS பண்புகளை வெளியிடுகின்றன.எடுத்துக்காட்டு: செயல்பாடு vs. மிக்சின்
@function px-to-rem($px) { @return $px / 16px * 1rem; /* செயல்பாடு கணக்கிடப்பட்ட மதிப்பைத் தருகிறது */ } .element { font-size: px-to-rem(24px); } @mixin custom-heading($font-size) { font-size: $font-size; /* மிக்சின் CSS-ஐ வெளியிடுகிறது */ font-weight: bold; } .page-title { @include custom-heading(px-to-rem(32px)); }
-
ப்ளேஸ்ஹோல்டர்கள் (
%extend
): ப்ளேஸ்ஹோல்டர் செலக்டர்கள் (எ.கா.,%button-base
) மிக்சின்களைப் போலவே மீண்டும் பயன்படுத்தக்கூடிய ஸ்டைல் தொகுதிகளைக் கொண்டிருப்பதால் ஒத்தவை, ஆனால் அவை@extend
டைரக்டிவ்-ஐப் பயன்படுத்தி நீட்டிக்க வடிவமைக்கப்பட்டுள்ளன. மிக்சின்களைப் போலன்றி, அவை சேர்க்கப்படும் ஒவ்வொரு முறையும் CSS அறிவிப்புகளை நகலெடுக்கும்,@extend
புத்திசாலித்தனமாக செலக்டர்களைக் குழுவாக்குகிறது, இது நகலெடுப்பதைத் தடுப்பதன் மூலம் சிறிய தொகுக்கப்பட்ட CSS-க்கு வழிவகுக்கும். இருப்பினும்,@extend
சில நேரங்களில் எதிர்பாராத செலக்டர் வெளியீட்டிற்கு அல்லது தவறாகப் பயன்படுத்தப்பட்டால் பெரிய கோப்பு அளவுகளுக்கு வழிவகுக்கும், குறிப்பாக சிக்கலான உள்ளமைக்கப்பட்ட செலக்டர்களுடன். மிக்சின்கள் பொதுவாக பண்புகளின் தனித்துவமான தொகுதிகளைச் சேர்ப்பதற்கு விரும்பப்படுகின்றன, அதே சமயம்@extend
தொடர்புடைய கூறுகளிடையே பொதுவான அடிப்படை ஸ்டைல்களைப் பகிர்ந்து கொள்வதற்கு மிகவும் பொருத்தமானது.எடுத்துக்காட்டு: மிக்சின் vs. எக்ஸ்டெண்ட்
@mixin alert-style { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } %message-base { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert-success { @include alert-style; background-color: #d4edda; color: #155724; } .message-error { @extend %message-base; background-color: #f8d7da; color: #721c24; }
.alert-success
க்கான தொகுக்கப்பட்ட வெளியீடுalert-style
பண்புகளை நகலெடுக்கும்..message-error
க்கு,%message-base
பண்புகள்.message-error
செலக்டருடன் குழுவாக்கப்படும்./* மிக்சினுக்கான தொகுக்கப்பட்ட வெளியீடு */ .alert-success { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; background-color: #d4edda; color: #155724; } /* எக்ஸ்டெண்டிற்கான தொகுக்கப்பட்ட வெளியீடு */ .message-error, .some-other-class-that-extends-it { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .message-error { background-color: #f8d7da; color: #721c24; }
மிக்சின்கள் மற்றும்
@extend
இடையே தேர்ந்தெடுப்பது பெரும்பாலும் குறிப்பிட்ட சூழ்நிலையைப் பொறுத்தது: பண்புகளின் தனித்துவமான, சாத்தியமான அளவுருக்கள் கொண்ட தொகுதிகளுக்கு மிக்சின்கள், மற்றும் குறைந்தபட்ச நகலெடுப்பு முக்கியமான வெவ்வேறு செலக்டர்களிடையே ஒரு அடிப்படை விதிகளைப் பகிர்ந்து கொள்ள@extend
.
Less மற்றும் Stylus இல் மிக்சின்கள்
Sass பரவலாக ஏற்றுக்கொள்ளப்பட்டாலும், Less மற்றும் Stylus ஆகியவை இதேபோன்ற மிக்சின் திறன்களை வழங்குகின்றன:
-
Less மிக்சின்கள்: Less-ல், மிக்சின்கள் அடிப்படையில் நீங்கள் அழைக்கக்கூடிய CSS விதிமுறைகளாகும். அவை வழக்கமான CSS வகுப்புகள் அல்லது ஐடிகள் போலவே வரையறுக்கப்படுகின்றன, மேலும் மற்றொரு விதிமுறைக்குள் அவற்றின் பெயரை அழைப்பதன் மூலம் சேர்க்கப்படுகின்றன. Less மிக்சின்கள் ஆர்குமென்ட்கள் மற்றும் இயல்புநிலை மதிப்புகளையும் ஏற்கலாம்.
எடுத்துக்காட்டு: Less மிக்சின்
.border-radius(@radius: 5px) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; } #header { .border-radius(10px); } .footer { .border-radius(); /* இயல்புநிலை 5px ஐப் பயன்படுத்துகிறது */ }
Less-ல் பாராமெட்ரிக் மிக்சின்கள் (ஆர்குமென்ட்களுடன் கூடியவை) மற்றும் பாதுகாக்கப்பட்ட மிக்சின்கள் (
when
முக்கியச்சொல்லைப் பயன்படுத்தும் நிபந்தனை மிக்சின்கள்) உள்ளன. -
Stylus மிக்சின்கள்: Stylus ஒருவேளை மிகவும் நெகிழ்வான தொடரியலை வழங்குகிறது, இது விருப்ப அடைப்புக்குறிகள் மற்றும் முக்காற்புள்ளிகளை அனுமதிக்கிறது. மிக்சின்கள் வெறுமனே சேர்க்கக்கூடிய குறியீட்டுத் தொகுதிகளாகும். Stylus ஆர்குமென்ட்கள், இயல்புநிலை மதிப்புகள் மற்றும் உள்ளடக்கத் தொகுதிகளுக்கு ஒத்த ஒரு கருத்தையும் ஆதரிக்கிறது (Sass போன்ற ஒரு வெளிப்படையான
@content
டைரக்டிவ் வழியாக அல்ல, ஆனால் தொகுதி ஆர்குமென்ட்கள் வழியாக).எடுத்துக்காட்டு: Stylus மிக்சின்
border-radius(radius = 5px) -webkit-border-radius radius -moz-border-radius radius border-radius radius #header border-radius 10px .footer border-radius
Stylus-ன் தொடரியல் நெகிழ்வுத்தன்மை மிகவும் சுருக்கமான குறியீட்டிற்கு வழிவகுக்கும்.
ப்ரீபுரோசெசரைப் பொருட்படுத்தாமல், முக்கிய நன்மை ஒன்றுதான்: மீண்டும் மீண்டும் வரும் CSS-ஐ மீண்டும் பயன்படுத்தக்கூடிய தொகுதிகளாக சுருக்குவது, உலகளாவிய பயன்பாடுகளுக்கான பெரிய மற்றும் வளர்ந்து வரும் ஸ்டைல்ஷீட்களை நிர்வகிப்பதில் கணிசமாக உதவுகிறது.
நேட்டிவ் CSS @apply
விதி: ஒரு வரலாற்றுப் பார்வை மற்றும் தற்போதைய நிலை
ப்ரீபுரோசெசர் மிக்சின்கள் ஃப்ரண்ட்-எண்ட் மேம்பாட்டின் ஒரு நன்கு நிறுவப்பட்ட மற்றும் அத்தியாவசியமான பகுதியாக இருந்தாலும், CSS பணிக்குழு நேட்டிவ் CSS-க்கு இதேபோன்ற மறுபயன்பாட்டைக் கொண்டுவருவதற்கான வழிகளையும் ஆராய்ந்தது. இது @apply
விதியின் முன்மொழிவுக்கு வழிவகுத்தது, இது CSS தனிப்பயன் பண்புகளுடன் (CSS மாறிகள்) இணைந்து செயல்பட வடிவமைக்கப்பட்டது.
முன்மொழியப்பட்ட @apply
விதி என்னவாக இருந்தது?
CSS @apply
விதி ஒரு சோதனை CSS அம்சமாக இருந்தது, இது ஆசிரியர்களுக்கு தனிப்பயன் பண்புத் தொகுப்புகளை வரையறுத்து அவற்றை கூறுகளுக்குப் பயன்படுத்த அனுமதிப்பதை நோக்கமாகக் கொண்டது, அடிப்படையில் தனிப்பயன் பண்புகளுக்கான நேட்டிவ் CSS மிக்சினாக செயல்பட்டது. அது இப்படி இருந்தது:
எடுத்துக்காட்டு: முன்மொழியப்பட்ட நேட்டிவ் @apply
(வழக்கற்றுப் போனது)
:root {
--brand-button-theme: {
background-color: #007bff;
color: #fff;
padding: 10px 20px;
border-radius: 5px;
};
}
.my-button {
@apply --brand-button-theme;
font-weight: bold;
text-transform: uppercase;
}
யோசனை கவர்ச்சிகரமானதாக இருந்தது: தனிப்பயன் பண்புகள் தொடரியலைப் பயன்படுத்தி ஒரு பெயரிடப்பட்ட பண்புகளின் தொகுப்பை ("மிக்சின்" அல்லது "பண்புத் தொகுதி") வரையறுத்து, பின்னர் அதை @apply
ஐப் பயன்படுத்தி சேர்க்கவும். இது ப்ரீபுரோசெசர்களின் தேவை இல்லாமல் CSS அறிவிப்புகளின் மூட்டைகளை நிர்வகிக்க ஒரு நேட்டிவ் வழியை வழங்கியிருக்கும்.
அது ஏன் முன்மொழியப்பட்டது மற்றும் ஏன் வழக்கற்றுப் போனது
@apply
க்குப் பின்னால் இருந்த உந்துதல் தெளிவாக இருந்தது: ஒரே CSS அறிவிப்புகளின் தொகுதிகளை மீண்டும் மீண்டும் செய்யும் சிக்கலைத் தீர்ப்பது. CSS தனிப்பயன் பண்புகள் (எ.கா., --main-color: blue; color: var(--main-color);
) *மதிப்புகளை* மீண்டும் பயன்படுத்த அனுமதிக்கும்போது, அவை, தாங்களாகவே, *பண்புகளின் குழுக்களை* மீண்டும் பயன்படுத்த அனுமதிக்காது. @apply
இந்த இடைவெளியைக் குறைக்க ಉದ್ದೇಶಿಸಲಾಗಿತ್ತು, CSS "பகுதி" அல்லது "மிக்சின்" ஒரு வடிவத்தை உலாவிக்கு பூர்வீகமாக கொண்டு வந்தது.
இருப்பினும், @apply
விதி இறுதியில் வழக்கற்றுப் போனது மற்றும் CSS விவரக்குறிப்புகளிலிருந்து அகற்றப்பட்டது. அதன் வழக்கற்றுப் போவதற்கான முதன்மைக் காரணங்கள் பின்வருமாறு:
-
சிக்கலான தன்மை மற்றும் செயல்திறன்: உலாவிகளில்
@apply
-ஐ திறமையாக செயல்படுத்துவது எதிர்பார்த்ததை விட சிக்கலானதாக நிரூபிக்கப்பட்டது, குறிப்பாக பயன்படுத்தப்பட்ட பண்புத் தொகுப்புகளில் ஏற்படும் மாற்றங்கள் எவ்வாறு அடுக்கடுக்காகப் பரவி தளவமைப்பு/பெயிண்ட் செயல்பாடுகளைத் தூண்டும் என்பது குறித்து. -
பிற அம்சங்களுடன் ஒன்றுடன் ஒன்று சேர்தல்: CSS தனிப்பயன் பண்புகளின் வளர்ந்து வரும் திறன்களுடன் குறிப்பிடத்தக்க ஒன்றுடன் ஒன்று சேர்தல் இருந்தது, மேலும் தனிப்பயன் பண்புகளுக்கான மேம்பாடுகள் மற்றும் புதிய நேட்டிவ் அம்சங்கள் மூலம் மிகவும் வலுவான தீர்வுக்கான சாத்தியம் இருந்தது.
-
ஸ்டைலிஸ்டிக் கவலைகள்: சிலர் தொடரியல் மற்றும் சொற்பொருளை விகாரமாகக் கண்டனர், இது பிழைதிருத்தம் செய்ய கடினமான அடுக்கடுக்கான சிக்கல்களுக்கு வழிவகுக்கும்.
இப்போது வரை, நேட்டிவ் CSS @apply
விதி தரநிலையின் ஒரு பகுதியாக இல்லை மற்றும் உற்பத்தியில் பயன்படுத்தப்படக்கூடாது. அதற்கான உலாவி ஆதரவு குறைவாக இருந்தது மற்றும் அகற்றப்பட்டுள்ளது.
நேட்டிவ் CSS இல் தற்போதைய மாற்று வழிகள்
@apply
இல்லாமல் போனாலும், நேட்டிவ் CSS மறுபயன்பாட்டிற்கு சக்திவாய்ந்த மாற்று வழிகளை வழங்க பரிணமித்துள்ளது, முதன்மையாக CSS தனிப்பயன் பண்புகளின் வலுவான பயன்பாடு மற்றும் மூலோபாய கூறு வடிவமைப்பு மூலம்.
CSS தனிப்பயன் பண்புகள் (CSS மாறிகள்)
தனிப்பயன் பண்புகள் மீண்டும் பயன்படுத்தக்கூடிய மதிப்புகளை வரையறுக்க உங்களை அனுமதிக்கின்றன, பின்னர் அவை பல CSS பண்புகளுக்குப் பயன்படுத்தப்படலாம் அல்லது கணக்கீடுகளில் கூட பயன்படுத்தப்படலாம். அவை பண்புகளைக் குழுவாக்கவில்லை என்றாலும், வடிவமைப்பு டோக்கன்கள் மற்றும் உலகளாவிய தீம் மாறிகளை நிர்வகிப்பதில் அவை நம்பமுடியாத அளவிற்கு பயனுள்ளதாக இருக்கும்.
எடுத்துக்காட்டு: தனிப்பயன் பண்புகளுடன் மதிப்புகளை மீண்டும் பயன்படுத்துதல்
:root {
--primary-color: #007bff;
--text-color-light: #f8f9fa;
--button-padding: 10px 20px;
--border-radius-default: 5px;
}
.btn-primary {
background-color: var(--primary-color);
color: var(--text-color-light);
padding: var(--button-padding);
border-radius: var(--border-radius-default);
/* ... மற்ற பண்புகள் ... */
}
.card-header {
background-color: var(--primary-color);
padding: var(--button-padding);
border-radius: var(--border-radius-default) var(--border-radius-default) 0 0;
/* ... */
}
இந்த அணுகுமுறை மதிப்புகளை திறம்பட மையப்படுத்துகிறது, ஒரு ஒற்றைத் தனிப்பயன் பண்பை மாற்றுவதன் மூலம் ஒரு முழு வலைத்தளத்திலும் முதன்மை நிறம் அல்லது பேடிங்கை மாற்றுவதை எளிதாக்குகிறது. இது உலகளாவிய பிராண்டிங் மற்றும் தீமிங்கிற்கு மிகவும் பயனுள்ளதாக இருக்கும், இது வெவ்வேறு பிராந்தியங்களின் வடிவமைப்பு விருப்பத்தேர்வுகள் அல்லது பருவகால பிரச்சாரங்களுக்கு விரைவான தழுவல்களை அனுமதிக்கிறது.
பயன்பாட்டு வகுப்புகள் மற்றும் கூறு-அடிப்படையிலான CSS
பண்புகளைக் குழுவாக்குவதற்கு, நிலையான நேட்டிவ் CSS அணுகுமுறை பயன்பாட்டு வகுப்புகள் அல்லது நன்கு வரையறுக்கப்பட்ட கூறு வகுப்புகளின் பயன்பாடாகவே உள்ளது. Bootstrap, Tailwind CSS மற்றும் பிற கட்டமைப்புகள் இந்த முறையை பெரிதும் பயன்படுத்துகின்றன.
எடுத்துக்காட்டு: மறுபயன்பாட்டிற்கான பயன்பாட்டு வகுப்புகள்
/* CSS */
.flex-center {
display: flex;
justify-content: center;
align-items: center;
}
.btn {
display: inline-block;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
}
.btn-primary {
background-color: blue;
color: white;
}
/* HTML */
இது சில ஸ்டைலிங் பொறுப்பை HTML-க்கு நகர்த்தினாலும் (மேலும் வகுப்புகளைச் சேர்ப்பதன் மூலம்), இது தூய CSS-ல் மீண்டும் பயன்படுத்தக்கூடிய ஸ்டைல் தொகுதிகளை நிர்வகிக்க பரவலாக ஏற்றுக்கொள்ளப்பட்ட மற்றும் அதிக செயல்திறன் கொண்ட வழியாகும். இது React, Vue மற்றும் Angular போன்ற நவீன JavaScript கட்டமைப்புகளுடன் தடையின்றி ஒருங்கிணைக்கிறது, இது கூறு-அடிப்படையிலான மேம்பாட்டை ஊக்குவிக்கிறது.
சரியான அணுகுமுறையைத் தேர்ந்தெடுப்பது: ப்ரீபுரோசெசர்கள் vs. நேட்டிவ் CSS
ப்ரீபுரோசெசர்கள் மற்றும் நேட்டிவ் CSS அம்சங்கள் இரண்டின் பலத்தையும் கருத்தில் கொண்டு, மிக்சின் போன்ற செயல்பாட்டிற்கு எந்த அணுகுமுறையைப் பயன்படுத்த வேண்டும் என்பதைத் தீர்மானிப்பது திட்டத் தேவைகள், குழுவின் பரிச்சயம் மற்றும் தேவைப்படும் ஸ்டைலிங்கின் சிக்கலான தன்மையைப் பொறுத்தது.
ப்ரீபுரோசெசர் மிக்சின்களை எப்போது பயன்படுத்த வேண்டும்
-
சிக்கலான தர்க்கம் மற்றும் கணக்கீடுகள்: உங்கள் ஸ்டைல்களுக்கு மேம்பட்ட தர்க்கம் (
@if
,@for
,@each
), சிக்கலான கணிதக் கணக்கீடுகள் அல்லது டைனமிக் பண்பு உருவாக்கம் தேவைப்படும்போது, ப்ரீபுரோசெசர் மிக்சின்கள் உயர்ந்தவை. -
வெண்டர் ப்ரீஃபிக்சிங்: Autoprefixer இதை பிந்தைய செயலாக்கத்தில் கையாளும் போது, ப்ரீபுரோசெசர் மிக்சின்கள் வெண்டர் ப்ரீஃபிக்ஸ்களை நேரடியாக உள்ளடக்கலாம், இது ஒரு முதன்மை வரலாற்று பயன்பாட்டு நிகழ்வாகும்.
-
ஆழமான நெஸ்டிங் மற்றும் மரபுரிமை (கவனத்துடன்): ப்ரீபுரோசெசர்கள் செலக்டர்களை நெஸ்ட் செய்வதையும் பண்புகளைப் பெறுவதையும் எளிதாக்குகின்றன, இது சில நேரங்களில் சிக்கலான கூறு ஸ்டைலிங்கை எளிதாக்கலாம் (இருப்பினும் நெஸ்டிங்கை அதிகமாகப் பயன்படுத்துவது அதிகப்படியான குறிப்பிட்ட மற்றும் மேலெழுத கடினமான CSS-க்கு வழிவகுக்கும்).
-
நிறுவப்பட்ட கருவித்தொகுப்புகள்: உங்கள் குழு ஏற்கனவே ஒரு ப்ரீபுரோசெசரைப் பயன்படுத்துகிறது மற்றும் அதைச் சுற்றி ஒரு முதிர்ந்த பணிப்பாய்வு இருந்தால், அதன் மிக்சின் திறன்களைப் பயன்படுத்துவது സ്വാഭാവിகமானது.
-
பாராமெட்ரிக் மறுபயன்பாடு: பல ஆர்குமென்ட்களை ஏற்கும் மிகவும் தனிப்பயனாக்கக்கூடிய ஸ்டைல் தொகுதிகளை நீங்கள் உருவாக்க வேண்டியிருக்கும் போது (எ.கா., டைனமிக் கட்டம் நெடுவரிசைகளுக்கான ஒரு மிக்சின், அல்லது நெகிழ்வான பொத்தான் அளவுகள்).
எப்போது நேட்டிவ் CSS (மற்றும் தனிப்பயன் பண்புகள்) மீது மட்டுமே தங்கியிருக்க வேண்டும்
-
எளிமையான திட்டங்கள்: சிறிய திட்டங்கள் அல்லது குறைந்த சிக்கலான ஸ்டைலிங் தேவைகளைக் கொண்ட திட்டங்களுக்கு, ஒரு ப்ரீபுரோசெசருக்கான உருவாக்கப் படிநிலையின் மேல்சுமை நியாயப்படுத்தப்படாமல் இருக்கலாம்.
-
செயல்திறன் முக்கியமான சூழல்கள்: உருவாக்கக் கருவித்தொகுப்பின் சிக்கலான தன்மையைக் குறைப்பது சில நேரங்களில் மிகவும் மெலிந்த சூழல்களில் வேகமான மேம்பாட்டுச் சுழற்சிகளுக்கு வழிவகுக்கும்.
-
மதிப்பு மறுபயன்பாடு: பொதுவான மதிப்புகளை (நிறங்கள், எழுத்துருக்கள், இடைவெளி அலகுகள்) மீண்டும் பயன்படுத்துவதற்கு, CSS தனிப்பயன் பண்புகள் நேட்டிவ், அதிக செயல்திறன் கொண்ட, மற்றும் டெவலப்பர்-நட்புத் தீர்வாகும்.
-
இயங்குநேர கையாளுதல்: தனிப்பயன் பண்புகளை JavaScript உடன் இயங்குநேரத்தில் கையாளலாம், இது ப்ரீபுரோசெசர் மிக்சின்களுடன் சாத்தியமற்றது (அவை நிலையான CSS-க்கு தொகுக்கப்படுவதால்).
-
இடைசெயல்பாடு: தனிப்பயன் பண்புகள் உலாவிக்கு பூர்வீகமானவை, அவை உலகளவில் புரிந்து கொள்ளக்கூடியவை மற்றும் ஒரு மூல வரைபடம் அல்லது ஒரு ப்ரீபுரோசெசரின் அறிவு தேவையில்லாமல் பிழைதிருத்தம் செய்யக்கூடியவை.
கலப்பின அணுகுமுறைகள் மற்றும் பிந்தைய செயலிகள் (Post-Processors)
பல நவீன மேம்பாட்டுப் பணிப்பாய்வுகள் ஒரு கலப்பின அணுகுமுறையைக் கடைப்பிடிக்கின்றன. Sass போன்ற ஒரு ப்ரீபுரோசெசரை அதன் சக்திவாய்ந்த அம்சங்களுக்காக (சிக்கலான தர்க்கம் மற்றும் அளவுருக்கள் கொண்ட ஸ்டைல்களுக்கான மிக்சின்கள் உட்பட) பயன்படுத்துவது பொதுவானது, பின்னர் PostCSS போன்ற ஒரு பிந்தைய செயலியைப் பயன்படுத்துவது. செருகுநிரல்களுடன் கூடிய PostCSS போன்ற பணிகளைச் செய்ய முடியும்:
-
தானியங்கி முன்னொட்டுதல் (Autoprefixing): வெண்டர் முன்னொட்டுகளை தானாகச் சேர்த்தல்.
-
CSS சுருக்கம் (Minification): கோப்பு அளவைக் குறைத்தல்.
-
எதிர்கால CSS க்கான பாலிஃபில்லிங் (Polyfilling): புதிய, சோதனை CSS அம்சங்களை பரவலாக ஆதரிக்கப்படும் CSS ஆக மாற்றுவது (இனி
@apply
அல்ல). -
தனிப்பயன் பண்பு பின்னடைவுகள்: பழைய உலாவிகளுக்கான இணக்கத்தன்மையை உறுதி செய்தல்.
இந்தக் கலவையானது டெவலப்பர்கள் இரு உலகங்களிலும் சிறந்ததைப் பயன்படுத்த அனுமதிக்கிறது: எழுதுவதற்கான ப்ரீபுரோசெசர்களின் வெளிப்பாட்டு சக்தி, மற்றும் வரிசைப்படுத்துவதற்கான பிந்தைய செயலிகளின் தேர்வுமுறை மற்றும் எதிர்கால-ஆதார திறன்கள்.
மிக்சின் பயன்பாட்டிற்கான உலகளாவிய சிறந்த நடைமுறைகள்
தேர்ந்தெடுக்கப்பட்ட கருவியைப் பொருட்படுத்தாமல், மிக்சின் பயன்பாட்டிற்கான சிறந்த நடைமுறைகளைக் கடைப்பிடிப்பது ஒரு சுத்தமான, அளவிடக்கூடிய மற்றும் கூட்டுப்பணி குறியீட்டுத் தளத்தை பராமரிப்பதற்கு முக்கியமானது, குறிப்பாக உலகளாவிய குழுக்களுக்கு நிலைத்தன்மையும் தெளிவும் மிக முக்கியமானவை.
1. மிக்சின்களுக்கான பெயரிடும் மரபுகள்
உங்கள் மிக்சின்களுக்கு தெளிவான, விளக்கமான மற்றும் நிலையான பெயரிடும் மரபுகளைக் கடைப்பிடிக்கவும். கெபாப்-கேஸ் (kebab-case) ஐப் பயன்படுத்தவும் மற்றும் பெயர் மிக்சினின் நோக்கத்தை துல்லியமாக பிரதிபலிக்கிறது என்பதை உறுதிப்படுத்தவும்.
-
நல்லது:
@mixin flex-center
,@mixin button-variant($color)
,@mixin font-size($scale)
-
கெட்டது:
@mixin fc
,@mixin btn(c)
,@mixin fs
(மிகவும் புதிரானது)
2. மிக்சின்களை ஒழுங்கமைத்தல் (பகுதிகள் மற்றும் தொகுதிகள்)
உங்கள் திட்டம் வளரும்போது, உங்கள் மிக்சின் நூலகமும் வளரும். மிக்சின்களை தர்க்கரீதியான பகுதி கோப்புகளாக (எ.கா., _mixins.scss
, _typography.scss
, _buttons.scss
) ஒழுங்கமைத்து அவற்றை உங்கள் பிரதான ஸ்டைல்ஷீட்டில் இறக்குமதி செய்யவும். இது மாடுலாரிட்டியை ஊக்குவிக்கிறது மற்றும் டெவலப்பர்கள் ஏற்கனவே உள்ள மிக்சின்களைக் கண்டுபிடித்து மீண்டும் பயன்படுத்துவதை எளிதாக்குகிறது.
எடுத்துக்காட்டு கட்டமைப்பு:
scss/
├── base/
│ ├── _reset.scss
│ └── _typography.scss
├── components/
│ ├── _button.scss
│ └── _card.scss
├── layouts/
│ └── _grid.scss
├── utilities/
│ ├── _mixins.scss /* அனைத்து பொது நோக்க மிக்சின்களும் */
│ └── _functions.scss
├── vendors/
│ └── _normalize.scss
└── main.scss
_mixins.scss
க்குள், அது மிகவும் பெரியதாகிவிட்டால் வெவ்வேறு வகைகளின் மிக்சின்களுக்கான குறிப்பிட்ட கோப்புகள் இருக்கலாம் (எ.கா., _mixins-layout.scss
, _mixins-effects.scss
).
3. மிக்சின்களை ஆவணப்படுத்துதல்
பெரிய அல்லது உலகளவில் விநியோகிக்கப்பட்ட குழுக்களுக்கு, மிக்சின்களின் முழுமையான ஆவணப்படுத்தல் இன்றியமையாதது. ஒவ்வொரு மிக்சினும் என்ன செய்கிறது, அது என்ன ஆர்குமென்ட்களை ஏற்றுக்கொள்கிறது (அவற்றின் வகைகள், இயல்புநிலை மதிப்புகள்) என்பதை விளக்கி, பயன்பாட்டு எடுத்துக்காட்டுகளை வழங்கவும். SassDoc போன்ற கருவிகள் உங்கள் Sass கோப்புகளில் உள்ள கருத்துகளிலிருந்து தானாகவே ஆவணங்களை உருவாக்க முடியும், இது பல்வேறு பின்னணியைச் சேர்ந்த புதிய குழு உறுப்பினர்களை உள்வாங்குவதற்கு பெரிதும் உதவுகிறது.
எடுத்துக்காட்டு: ஒரு மிக்சினை ஆவணப்படுத்துதல்
/// ரெஸ்பான்சிவ் பேடிங் பயன்பாடுகளை உருவாக்குகிறது.
/// @param {Number} $max - பயன்பாட்டு வகுப்புகளுக்கான அதிகபட்ச குறியீடு (எ.கா., .padding-5 க்கு 5).
/// @param {String} $step - பேடிங்கிற்கான அடிப்படை அலகு (எ.கா., '5px', '0.5rem').
/// @example
/// @include generate-padding-utilities(3, 10px);
/// // .padding-1 { padding: 10px; }
/// // .padding-2 { padding: 20px; }
/// // .padding-3 { padding: 30px; }
@mixin generate-padding-utilities($max, $step) {
/* ... மிக்சின் குறியீடு ... */
}
4. செயல்திறன் பரிசீலனைகள்
மிக்சின்கள் சுத்தமான குறியீட்டை ஊக்குவிக்கும் போது, தொகுக்கப்பட்ட CSS வெளியீட்டை மனதில் கொள்ளுங்கள்:
-
வெளியீட்டு அளவு: ஒவ்வொரு முறையும் ஒரு மிக்சின்
@include
செய்யப்படும்போது, அதன் CSS பண்புகள் தொகுக்கப்பட்ட வெளியீட்டில் நகலெடுக்கப்படுகின்றன. பல முறை சேர்க்கப்பட்ட பெரிய மிக்சின்களுக்கு, இது பெரிய CSS கோப்பு அளவுகளுக்கு வழிவகுக்கும். இதைக் குறைக்க உங்கள் உருவாக்கச் செயல்பாட்டின் போது சுருக்கத்தைப் பயன்படுத்தவும். -
தொகுக்கும் நேரம்: விரிவான சுழற்சிகள் அல்லது நிபந்தனை தர்க்கத்துடன் கூடிய மிகவும் சிக்கலான மிக்சின்கள், அல்லது அதிக எண்ணிக்கையிலான மிக்சின் சேர்ப்புகள், CSS தொகுக்கும் நேரத்தை அதிகரிக்கலாம். முடிந்தவரை செயல்திறனுக்காக மிக்சின்களை மேம்படுத்தவும்.
-
குறிப்பிட்ட தன்மை (Specificity): மிக்சின்கள் தாங்களாகவே அவை சேர்க்கப்பட்டுள்ள செலக்டர்களுக்கு அப்பால் குறிப்பிட்ட தன்மை சிக்கல்களை அறிமுகப்படுத்துவதில்லை. இருப்பினும், உங்கள் மிக்சின்களால் உருவாக்கப்பட்ட CSS உங்கள் ஒட்டுமொத்த CSS கட்டமைப்பின் குறிப்பிட்ட தன்மை விதிகளுடன் நன்கு ஒருங்கிணைவதை உறுதிப்படுத்தவும்.
5. அணுகல்தன்மை தாக்கங்கள்
மிக்சின்கள் ஒரு CSS எழுதும் கருவியாக இருந்தாலும், அவை உருவாக்கும் ஸ்டைல்கள் நேரடியாக அணுகல்தன்மையை பாதிக்கின்றன. ஃபோகஸ் நிலைகள், வண்ண வேறுபாடு அல்லது ஊடாடும் கூறுகள் தொடர்பான எந்த மிக்சின்களும் WCAG (வலை உள்ளடக்க அணுகல்தன்மை வழிகாட்டுதல்கள்) தரங்களுக்கு இணங்குவதை உறுதிப்படுத்தவும். உதாரணமாக, ஒரு பொத்தான் மிக்சின் பொருத்தமான ஃபோகஸ் ஸ்டைல்களைக் கொண்டிருக்க வேண்டும்.
எடுத்துக்காட்டு: மிக்சினில் அணுகக்கூடிய ஃபோகஸ் ஸ்டைல்
@mixin interactive-focus-styles {
&:focus-visible {
outline: 2px solid var(--focus-ring-color, #007bff);
outline-offset: 2px;
}
}
.my-link {
@include interactive-focus-styles;
color: blue;
text-decoration: underline;
}
:focus-visible
(அல்லது அதன் பாலிஃபில்) ஐப் பயன்படுத்துவது அணுகல்தன்மைக்கான ஒரு நவீன சிறந்த நடைமுறையாகும், ஏனெனில் பயனர் விசைப்பலகை அல்லது பிற பாயிண்டர் அல்லாத உள்ளீட்டுடன் வழிசெல்லும்போது மட்டுமே ஃபோகஸ் அவுட்லைனைக் காட்டுகிறது.
6. பராமரிப்புத்திறன் மற்றும் குழு ஒத்துழைப்பு
உலகளாவிய குழுக்களுக்கு, நிலைத்தன்மை முக்கியம். ஒரு புதிய மிக்சினை எப்போது உருவாக்குவது, ஏற்கனவே உள்ள ஒன்றை எப்போது மாற்றுவது, மற்றும் எப்போது எளிமையான பயன்பாட்டு வகுப்புகள் அல்லது நேட்டிவ் CSS தனிப்பயன் பண்புகளைத் தேர்ந்தெடுப்பது என்பதற்கு தெளிவான வழிகாட்டுதல்களை நிறுவவும். இந்த வழிகாட்டுதல்களுக்கு இணங்குவதை உறுதி செய்வதற்கும், பல்வேறு தொழில்நுட்ப பின்னணியைச் சேர்ந்த டெவலப்பர்களால் புரிந்து கொள்ளப்பட்டு பங்களிக்கக்கூடிய உயர் தரமான, படிக்கக்கூடிய குறியீட்டுத் தளத்தை பராமரிப்பதற்கும் குறியீடு மதிப்புரைகள் அவசியம்.
CSS மறுபயன்பாட்டில் எதிர்காலப் போக்குகள்
வலைத் தளம் தொடர்ந்து உருவாகி வருகிறது. ப்ரீபுரோசெசர் மிக்சின்கள் மிகவும் பொருத்தமானதாக இருந்தாலும், CSS பணிக்குழு எதிர்காலத்தில் மறுபயன்பாட்டை நாம் எவ்வாறு அணுகுகிறோம் என்பதைப் பாதிக்கக்கூடிய புதிய நேட்டிவ் அம்சங்களை ஆராய்ந்து வருகிறது.
-
கண்டெய்னர் வினவல்கள் (Container Queries): நேரடியாக ஒரு மிக்சின் மாற்றீடு அல்ல என்றாலும், கண்டெய்னர் வினவல்கள் (
@container
) கூறுகளை வியூபோர்ட்டை விட அவற்றின் பெற்றோர் கண்டெய்னரின் அளவின் அடிப்படையில் ஸ்டைல் செய்ய அனுமதிக்கின்றன. இது மிகவும் உண்மையான உள்ளடக்கப்பட்ட, மீண்டும் பயன்படுத்தக்கூடிய கூறுகளை மேம்படுத்துகிறது, அங்கு ஒரு கூறுகளின் உள் தளவமைப்பு அது பக்கத்தில் எங்கு வைக்கப்பட்டுள்ளது என்பதைப் பொருட்படுத்தாமல், அதற்கு கிடைக்கும் இடத்தின் அடிப்படையில் மாற்றியமைக்க முடியும். இது சிக்கலான, உலகளாவிய மீடியா வினவல் மிக்சின்களின் தேவையைக் குறைக்கிறது. -
CSS லேயர்கள் (
@layer
): CSS லேயர்கள் ஸ்டைல்ஷீட்களை தனித்துவமான அடுக்குகளாக ஒழுங்கமைக்க ஒரு வழியை வழங்குகின்றன, இது டெவலப்பர்களுக்கு அடுக்கடுக்கின் மீது அதிக கட்டுப்பாட்டைக் கொடுக்கிறது. இது குறிப்பிட்ட தன்மையை நிர்வகிக்கவும், எதிர்பாராத ஸ்டைல் மேலெழுதல்களைத் தடுக்கவும் உதவும், மறைமுகமாக மீண்டும் பயன்படுத்தக்கூடிய ஸ்டைல்களின் சிறந்த அமைப்பை ஆதரிக்கிறது. -
எதிர்கால நேட்டிவ் "மிக்சின்"-போன்ற அம்சங்கள்:
@apply
அல்லது ப்ரீபுரோசெசர் மிக்சின்களுக்கு ஒப்பான ஒரு நேட்டிவ் CSS அம்சம் பற்றிய விவாதம் தொடர்ந்து நடைபெறுகிறது. சமூகம் அறிவிப்புகளைக் குழுவாக்க வேண்டிய தேவையை ஒப்புக்கொள்கிறது, மேலும் எதிர்கால விவரக்குறிப்புகள் இதை ஒரு செயல்திறன் மற்றும் சொற்பொருள் ரீதியாக சரியான வழியில் தீர்க்க புதிய வழிமுறைகளை அறிமுகப்படுத்தலாம்.
இந்த மேம்பாடுகளைப் பற்றித் தெரிந்து கொள்வது உங்கள் CSS கட்டமைப்பை எதிர்காலத்திற்குத் தயார்படுத்துவதற்கும், உங்கள் மிக்சின் பயன்பாட்டு உத்திகள் சமீபத்திய வலைத் தரங்களுடன் ஒத்துப்போவதை உறுதி செய்வதற்கும் அவசியம்.
முடிவுரை
"CSS அப்ளை விதி," குறிப்பாக மிக்சின் பயன்பாட்டின் பின்னணியில், நவீன ஃப்ரண்ட்-எண்ட் மேம்பாட்டில் ஒரு முக்கிய கருத்தை பிரதிபலிக்கிறது. நேட்டிவ் CSS @apply
விதி வழக்கற்றுப் போயிருந்தாலும், CSS-ல் மறுபயன்பாடு, மாடுலாரிட்டி மற்றும் பராமரிப்புத்திறனுக்கான அடிப்படைத் தேவை முன்னெப்போதையும் விட வலுவாக உள்ளது.
Sass, Less மற்றும் Stylus போன்ற CSS ப்ரீபுரோசெசர்கள் தொடர்ந்து வலுவான மற்றும் நெகிழ்வான மிக்சின் திறன்களை வழங்குகின்றன, டெவலப்பர்களுக்கு மிகவும் திறமையான, டைனமிக் மற்றும் நிர்வகிக்கக்கூடிய ஸ்டைல்ஷீட்களை எழுத அதிகாரம் அளிக்கின்றன. ஆர்குமென்ட்கள், உள்ளடக்கத் தொகுதிகள் மற்றும் நிபந்தனை தர்க்கத்துடன் மிக்சின்களைப் பயன்படுத்துவதன் மூலம், டெவலப்பர்கள் சிக்கலான ஸ்டைலிங் முறைகளை மீண்டும் பயன்படுத்தக்கூடிய கூறுகளாக சுருக்கலாம், மீண்டும் மீண்டும் செய்வதைக் கணிசமாகக் குறைத்து, பெரிய அளவிலான திட்டங்கள் மற்றும் உலகளாவிய வடிவமைப்பு அமைப்புகளில் நிலைத்தன்மையை மேம்படுத்தலாம்.
மேலும், மதிப்பு மறுபயன்பாட்டிற்கான நேட்டிவ் CSS தனிப்பயன் பண்புகளின் சக்தியைப் புரிந்துகொள்வது, பயன்பாட்டு வகுப்புகள் மற்றும் கூறு-அடிப்படையிலான CSS இன் மூலோபாய பயன்பாட்டுடன் இணைந்து, அதிக செயல்திறன் கொண்ட மற்றும் பராமரிக்கக்கூடிய வலை இடைமுகங்களை உருவாக்குவதற்கான கருவித்தொகுப்பை நிறைவு செய்கிறது. ப்ரீபுரோசெசர் வலிமை மற்றும் நேட்டிவ் CSS செயல்திறனின் கலவை, பெயரிடுதல், அமைப்பு, ஆவணப்படுத்தல் மற்றும் அணுகல்தன்மை ஆகியவற்றில் உலகளாவிய சிறந்த நடைமுறைகளுக்கு கவனமாக இணங்குவதன் மூலம் பூர்த்தி செய்யப்படுகிறது, இது இன்று தொழில்முறை CSS மேம்பாட்டின் அடையாளமாகும்.
வலைத் தளம் உருவாகும்போது, ஸ்டைலிங்கிற்கான நமது அணுகுமுறைகளும் உருவாகும். மிக்சின் பயன்பாட்டின் கலையில் தேர்ச்சி பெறுவதன் மூலமும், வளர்ந்து வரும் CSS அம்சங்களுக்கு ஏற்ப இருப்பதன் மூலமும், டெவலப்பர்கள் தங்கள் ஸ்டைல்ஷீட்கள் செயல்பாட்டு ரீதியாக மட்டுமல்லாமல், நேர்த்தியான, அளவிடக்கூடிய மற்றும் உண்மையான உலகளாவிய பார்வையாளர்களுக்காக உருவாக்குவதற்கான சவால்களுக்குத் தயாராக இருப்பதை உறுதிசெய்ய முடியும்.